top of page
perceptive_background_267k.jpg

OpenPLC Runtime v3's compile_program() function (webserver/openplc.py) parses `(*FILE:path content*)` directives from uploaded Structured Text (.st) program fil…

Published:

4 augustus 2026 om 22:00:00

Alert date:

5 augustus 2026 om 14:10:56

Source:

nvd.nist.gov

Click to open the original link from this advisory

Critical Infrastructure, Web Technologies, Zero-Day Vulnerabilities, Identity & Access

OpenPLC Runtime v3 contains a path traversal vulnerability in the compile_program() function within webserver/openplc.py. The function parses FILE directives from uploaded Structured Text (.st) files and writes content to paths constructed with os.path.join('./core', file_path) without validating that the resulting path stays within the ./core directory. An attacker can craft a malicious .st file with directory traversal sequences to write arbitrary content to sensitive filesystem locations such as /etc/cron.d or SSH authorized_keys files, enabling remote code execution. A validate_file_path() function exists in webserver/credentials.py but is never called from compile_program(), leaving the sink unprotected. Compounding the risk, OpenPLC ships with hardcoded default credentials (openplc:openplc), significantly lowering the barrier to exploitation. This vulnerability poses a critical risk especially in industrial control system (ICS/SCADA) environments where OpenPLC is commonly deployed.

Technical details

Mitigation steps:

Affected products:

OpenPLC Runtime v3

Related links:

Related CVE's:

Related threat actors:

IOC's:

This article was created with the assistance of AI technology by Perceptive.

© 2025 by Perceptive Security. All rights reserved.

email: info@perceptivesecurity.com

Deze website toont informatie afkomstig van externe bronnen; Perceptive aanvaardt geen verantwoordelijkheid voor de juistheid, volledigheid of actualiteit van deze informatie.

bottom of page