CVE-2026-55830
HighCVSS 8.3Exploitation Probability (EPSS)
Low risk13th percentile - higher than 13% of all known CVEs
Summary
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.
Risk Assessment
An attacker can exploit this vulnerability to perform unauthorized operations on objects, leading to data integrity and confidentiality breaches within the RestrictedPython environment.
Recommendation
Upgrade RestrictedPython to version 8.3 or later immediately, which includes a fix for this issue.
Other vulnerabilities in RestrictedPython
See all- 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-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 to define a subset of the Python language which allows to provide a program input into a trusted environment. Prior to 8.3, check_function_argument_names() rejected protected guard hook names for regular, variadic, and keyword-only arguments but omitted positional-only arguments, allowing __getattr__, _getitem_, _write_, or _print_ to be shadowed by a local parameter and bypass the embedding application's access policy. This issue is fixed in version 8.3.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

