RestrictedPython vulnerabilities
4 known CVE vulnerabilities in RestrictedPython, translated and rated.
- CVE-2026-76825High
RestrictedPython prior to 8.4 could allow a sandbox escape when a custom import policy or globals exposed the standard library string module, the string.Formatter class, a Formatter instance, or a Formatter subclass to restricted code. The string.Formatter methods format, get_field, get_value, and vformat performed attribute and item traversal internally without passing through RestrictedPython's safer_getattr protections, allowing restricted code to reach function globals, builtins, file access, or code execution primitives.
- CVE-2026-55830High
RestrictedPython before version 8.3 incorrectly validated positional-only argument names, allowing protected hook names (e.g., __getattr__, _getitem_, _write_, _print_) to be shadowed by local parameters. This flaw enables bypassing the embedding application's access policy.
- CVE-2023-41039High
RestrictedPython is a restricted execution environment for Python to run untrusted code. Python's 'format' functionality allows someone controlling the format string to 'read' all objects accessible through recursive attribute lookup and subscription from objects he can access, which can lead to critical information disclosure.
- CVE-2023-37271High
RestrictedPython is a tool that defines a subset of the Python language, allowing users to provide program input into a trusted environment. In versions prior to 6.1 and 5.3, an attacker could access the current stack frame in a generator, allowing them to break out of the RestrictedPython boundaries and potentially execute arbitrary code in the Python interpreter.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

