Katalog CVE

CVE-2026-14480

KrytyczneCVSS 9.9
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.62%

Percentyl 45 - wyżej niż 45% wszystkich znanych CVE

Streszczenie

OpenPLC Runtime v3 zawiera uwierzytelnioną podatność na zapis dowolnych plików w starszym interfejsie webowym podczas przesyłania programu. Atakujący może dostarczyć dowolną nazwę pliku, która jest zapisywana w bazie danych i używana jako ścieżka docelowa bez walidacji, co pozwala na zapis plików w dowolnym miejscu zapisywalnym przez proces serwera WWW.

Ocena ryzyka

Ryzyko polega na możliwości eskalacji zapisu dowolnego pliku do wykonania dowolnego kodu natywnego poprzez umieszczenie złośliwego pliku .cpp w katalogu rdzenia OpenPLC, który jest automatycznie kompilowany do pliku wykonywalnego podczas normalnej kompilacji programu.

Rekomendacja

Należy natychmiast zaktualizować OpenPLC Runtime do najnowszej wersji, która usuwa tę podatność, oraz ograniczyć dostęp do interfejsu webowego tylko dla zaufanych użytkowników.

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS