CVE-2026-76825
HighCVSS 8.4Summary
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.
Risk Assessment
The sandbox escape affects confidentiality, integrity, and availability in the host environment, potentially enabling arbitrary code execution and file access.
Recommendation
Update RestrictedPython to version 8.4 or later.
Other vulnerabilities in RestrictedPython
See all- 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.
Original NVD description (English source)
RestrictedPython is a tool that helps define a subset of the Python language for accepting program input in a trusted environment. Prior to 8.4, RestrictedPython 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. Restricted code could use those live object references to reach function globals, builtins, file access, or code execution primitives, affecting confidentiality, integrity, and availability in the host environment. This issue is fixed in version 8.4.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

