CVE.RADIO
FREN

CVE-2026-71268

thiagoralves OpenPLC_v3VulnerabilityCVSS 9.9

OpenPLC Runtime v3's compile_program() function (webserver/openplc.py) parses `(*FILE:path content*)` directives from uploaded Structured Text (.st) program files and writes the referenced content to `os.path.join('./core', file_path)` with no validation that file_path stays within the ./core directory. A crafted .st file containing a directive such as `(*FILE:../../../etc/cron.d/x * * * * root *)` writes attacker-controlled content to an arbitrary filesystem path, enabling remote code execution (e.g. via cron or SSH authorized_keys). 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. OpenPLC additionally ships with hardcoded default credentials (openplc:openplc), lowering the practical bar for exploitation.

No public exploitation has been reported so far. No distribution fix is listed yet; apply vendor mitigations and monitor.

Recommended action: Track your distribution's security tracker and apply the fix as soon as it ships.

CVE-2026-71268 thiagoralves OpenPLC_v3 Vulnerability

Severity metrics

CVSS 3.1 : 9.9 CRITICAL

Attack vectorNetwork (remote)
Attack complexityLow
Privileges requiredLow
User interactionNone
ScopeChanged
Confidentiality impactHigh
Integrity impactHigh
Availability impactHigh

Vector: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Affected & fixed versions by distribution

Versions are the native distribution strings (backport-aware): RHEL/Debian/SUSE backport fixes, so compare with the distro version comparator (dpkg / rpm / vercmp), not the upstream version.

No affected package in the tracked watchlist yet (Debian, Ubuntu, Arch, SUSE, Red Hat...). Triage may still be pending.

Sources

Published 2026-08-05 · source: NVD