Description
OpenS100 (the reference implementation S-100 viewer) prior to commit 753cf29 contains 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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| OpenS100 Project | OpenS100 | — | — |
References
- https://www.mdpi.com/1424-8220/26/4/1246 technical-description exploit
- https://github.com/S-100ExpertTeam/OpenS100/commit/753cf294434e8d3961f20a567c4d99151e3b530d patch
- https://www.vulncheck.com/advisories/opens100-portrayal-engine-unrestricted-lua-standard-library-access third-party-advisory