GHSA-9w56-46f6-3qhx: asteval Sandbox Escape: arbitrary native memory read/write via numpy ctypes in default asteval Interpreter
With its default configuration (numpy enabled, import disabled), asteval’s Interpreter lets an attacker-controlled expression obtain a raw arbitrary process-memory read and write primitive, without using import, any __dunder__ attribute, or eval/exec/getattr. Arbitrary in-process read/write is equivalent to arbitrary code execution and is a complete escape of the sandbox whose entire purpose is “untrusted string in, no arbitrary execution out.” Any application that feeds untrusted input to asteval with numpy installed (the default) is affected.
References
Code Behaviors & Features
Detect and mitigate GHSA-9w56-46f6-3qhx with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →