CVE-2026-14480
KrytyczneCVSS 9.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 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.

