OpenPLC Runtime v3 contains an authenticated arbitrary file write vulnerability in the legacy web UI program‑upload workflow. (CVE-2026-14480)
OpenPLC Runtime v3 contains an authenticated arbitrary file write vulnerability in the legacy web UI program‑upload workflow. The application stores an attacker‑supplied filename (prog_file) directly into the Programs.File database field and later uses this value as the destination path for an uploaded file without validating or restricting the path. Because Python os.path.join() honors attacker‑controlled absolute paths, an authenticated user can write arbitrary files anywhere writable by the OpenPLC webserver process. In the default build pipeline, all C++ source files within the OpenPLC runtime core directory are automatically compiled into the executable runtime binary. By writing a malicious .cpp file into this directory, an authenticated attacker can escalate the arbitrary file write into arbitrary native code execution when the operator triggers a normal program compilation and runtime start.
AI Analysis
Technical Summary
The vulnerability in OpenPLC Runtime v3 arises from improper validation of the attacker-controlled filename parameter (prog_file) in the legacy web UI program-upload workflow. The filename is stored directly in the Programs.File database field and later used as the destination path for uploaded files without restricting or validating the path. Because Python's os.path.join() accepts absolute paths, an authenticated user can write arbitrary files anywhere writable by the OpenPLC webserver process. In the default build pipeline, all C++ source files in the runtime core directory are compiled into the executable. Thus, by writing a malicious .cpp file into this directory, an attacker can escalate the arbitrary file write to arbitrary native code execution when the operator triggers compilation and runtime start.
Potential Impact
An authenticated attacker can write arbitrary files to any location writable by the OpenPLC webserver process, potentially leading to arbitrary native code execution. This can result in full compromise of the OpenPLC runtime environment, allowing execution of malicious code with the privileges of the webserver process.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict access to the legacy web UI program-upload functionality to trusted users only and monitor for suspicious activity. Avoid triggering program compilation and runtime start with untrusted uploaded files.
OpenPLC Runtime v3 contains an authenticated arbitrary file write vulnerability in the legacy web UI program‑upload workflow. (CVE-2026-14480)
Description
OpenPLC Runtime v3 contains an authenticated arbitrary file write vulnerability in the legacy web UI program‑upload workflow. The application stores an attacker‑supplied filename (prog_file) directly into the Programs.File database field and later uses this value as the destination path for an uploaded file without validating or restricting the path. Because Python os.path.join() honors attacker‑controlled absolute paths, an authenticated user can write arbitrary files anywhere writable by the OpenPLC webserver process. In the default build pipeline, all C++ source files within the OpenPLC runtime core directory are automatically compiled into the executable runtime binary. By writing a malicious .cpp file into this directory, an authenticated attacker can escalate the arbitrary file write into arbitrary native code execution when the operator triggers a normal program compilation and runtime start.
CVSS v4.0
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in OpenPLC Runtime v3 arises from improper validation of the attacker-controlled filename parameter (prog_file) in the legacy web UI program-upload workflow. The filename is stored directly in the Programs.File database field and later used as the destination path for uploaded files without restricting or validating the path. Because Python's os.path.join() accepts absolute paths, an authenticated user can write arbitrary files anywhere writable by the OpenPLC webserver process. In the default build pipeline, all C++ source files in the runtime core directory are compiled into the executable. Thus, by writing a malicious .cpp file into this directory, an attacker can escalate the arbitrary file write to arbitrary native code execution when the operator triggers compilation and runtime start.
Potential Impact
An authenticated attacker can write arbitrary files to any location writable by the OpenPLC webserver process, potentially leading to arbitrary native code execution. This can result in full compromise of the OpenPLC runtime environment, allowing execution of malicious code with the privileges of the webserver process.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict access to the legacy web UI program-upload functionality to trusted users only and monitor for suspicious activity. Avoid triggering program compilation and runtime start with untrusted uploaded files.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-gx73-gv82-355v
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-14480"]
- Ecosystems
- []
- Database Specific Severity
- HIGH
- Cvss Version
- 4.0
Threat ID: 6a520ea168715ace438f40e6
Added to database: 07/11/2026, 09:36:33 UTC
Last enriched: 07/11/2026, 09:43:56 UTC
Last updated: 07/31/2026, 19:22:57 UTC
Views: 38
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.