CVE-2026-71268
KrytyczneCVSS 9.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
OpenPLC Runtime v3 w funkcji compile_program (webserver/openplc.py) parsuje dyrektywy z przesłanych plików Structured Text (.st) i zapisuje odwołaną treść bez walidacji, czy ścieżka pliku pozostaje w katalogu ./core. Funkcja validate_file_path istnieje w kodzie, ale nie jest wywoływana z compile_program.
Ocena ryzyka
Atakujący może przesłać złośliwy plik .st, który spowoduje zapis plików poza dozwolonym katalogiem, co może prowadzić do nadpisania krytycznych plików systemowych lub wykonania kodu.
Rekomendacja
Należy zintegrować walidację ścieżki w compile_program, aby zapewnić, że pliki są zapisywane tylko w dozwolonym katalogu. Zaleca się również aktualizację do najnowszej wersji OpenPLC.
Oryginalny opis (angielski, źródło NVD)
OpenPLC Runtime v3's compile_program function (webserver/openplc.py) parses directives from uploaded Structured Text (.st) program files and writes the referenced content to with no validation that file_path stays within the ./core directory. A path-validation function, validate_file_path, exists elsewhere in the codebase (webserver/credentials.py) but is never invoked from compile_program, leaving the sink unprotected.

