CVE-2026-71268 Details
Description
OpenPLC Runtime v3's compile_program function (webserver/openplc.py) parses directives from uploaded Structured Text (.st) program files and writes the referenced content to with no validation that file_path stays within the ./core directory. A path-validation function, validate_file_path, exists elsewhere in the codebase (webserver/credentials.py) but is never invoked from compile_program, leaving the sink unprotected.
A remote code execution vulnerability exists in OpenPLC Runtime version 3. The issue arises in the compile_program() function within webserver/openplc.py, where the application improperly handles file directives in uploaded Structured Text (.st) program files. Specifically, the vulnerability allows for the writing of attacker-controlled content to arbitrary filesystem paths, bypassing directory restrictions. This is achieved by crafting a .st file with a directive that references a sensitive system file, such as a cron job or SSH authorized_keys file. The vulnerability is exacerbated by the presence of hardcoded default credentials, which facilitate exploitation.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Aug 5, 2026CISA-ADP
Assessed Aug 5, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/thiagoralves/OpenPLC_v3 | TuranSec | Vendor |
| https://github.com/thiagoralves/OpenPLC_v3/blob/master/webserver/openplc.py | TuranSec | Source CodeVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-22 | Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') | TuranSec |
Affected Products
| Product | Versions |
|---|---|
| OpenPLC Runtime | < 4 |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Aug 10, 2026 | CVE Modified | TuranSec |
| Aug 5, 2026 | CVE Modified | CISA-ADP |
| Aug 5, 2026 | New CVE Received | TuranSec |
Volerion