CVE-2026-14480CWE-73

OpenPLC v3 External Control of File Name or Path

High · published July 10, 2026

CVSS v4.0
8.7
EPSS
1%
Percentile
48.9
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v4.0
8.7 · HIGH
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS
0.00616 · 48.9th percentile
Weakness
CWE-73 · External Control of File Name or Path
Published
2026-07-10T22:17Z
EPSS history
Timeline
  • 10 JUL 22:17Z
    OpenPLC v3 External Control of File Name or Path
    cvelistv5