SimpleEval: Objects (including modules) can leak dangerous modules through to direct access inside the sandbox
High severity
GitHub Reviewed
Published
Mar 13, 2026
in
danthedeckie/simpleeval
•
Updated Mar 13, 2026
Description
Published to the GitHub Advisory Database
Mar 13, 2026
Reviewed
Mar 13, 2026
Last updated
Mar 13, 2026
Impact
If the objects passed in as
namesto SimpleEval have modules or other disallowed / dangerous objects available as attrs.Additionally, dangerous functions or modules could be accessed by passing them as callbacks to other safe functions to call.
Examples (found by @ByamB4):
Any module where non-underscore attribute chains reach os or sys:
Patches
The latest version 1.0.5 has this issue fixed.
Workarounds
Don't pass in objects or modules which have direct attributes to potentially dangerous items.
Use a wrapper to wrap the potentially vulnerable items (See the ModuleWrapper in version 1.0.5)
References