GHSA-gx73-gv82-355v
OpenPLC Runtime v3 has an authenticated arbitrary file write vulnerability in its legacy web UI program-upload workflow. An attacker with authentication can supply a filename that is stored and later used as a file path without validation, allowing writing files anywhere writable by the webserver process. This can be escalated to arbitrary native code execution by writing malicious C++ source files that get compiled during normal operations.
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.
GHSA-gx73-gv82-355v
Description
OpenPLC Runtime v3 has an authenticated arbitrary file write vulnerability in its legacy web UI program-upload workflow. An attacker with authentication can supply a filename that is stored and later used as a file path without validation, allowing writing files anywhere writable by the webserver process. This can be escalated to arbitrary native code execution by writing malicious C++ source files that get compiled during normal operations.
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/11/2026, 19:47:29 UTC
Views: 2
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.