Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| thiagoralves / OpenPLC_v3 | affected 0 through * |
CWE
CWE-22
References
- https://github.com/thiagoralves/OpenPLC_v3
- https://github.com/thiagoralves/OpenPLC_v3/blob/master/webserver/openplc.py
ADP enrichment
No English description supplied.
No references supplied.