Description
OpenS100 (the reference implementation S-100 viewer) prior to commit 753cf29 contain a remote code execution vulnerability via an unrestricted Lua interpreter. The Portrayal Engine initializes Lua using luaL_openlibs() without sandboxing or capability restrictions, exposing standard libraries such as 'os' and 'io' to untrusted portrayal catalogues. An attacker can provide a malicious S-100 portrayal catalogue containing Lua scripts that execute arbitrary commands with the privileges of the OpenS100 process when a user imports the catalogue and loads a chart.
Problem types
CWE-749 Exposed Dangerous Method or Function
CWE-829 Inclusion of Functionality from Untrusted Control Sphere
Product status
Any version before commit 753cf29
Credits
Hoyeon Cho, National Korea Maritime and Ocean University
References
www.mdpi.com/1424-8220/26/4/1246
github.com/...ommit/753cf294434e8d3961f20a567c4d99151e3b530d
www.vulncheck.com/...nrestricted-lua-standard-library-access