CVE-2026-76825: RestrictedPython vulnerable to sandbox escape via string.Formatter field resolution
### Impact RestrictedPython could allow a sandbox escape when a policy exposes the standard library `string` module, or otherwise exposes `string.Formatter`, to restricted code. `string.Formatter` field resolution methods such as `get_field` can perform attribute and item traversal internally and return live object references. This can bypass RestrictedPython's normal attribute guards and may allow access to sensitive objects such as function globals, builtins, file access, or code execution primitives. Users are impacted if they run untrusted code with RestrictedPython and expose `string.Formatter`, directly or indirectly, for example through a custom import policy or globals. ### Patches The problem has been patched by blocking access to `string.Formatter` and unsafe `string.Formatter` traversal methods in `safer_getattr`. Users should upgrade to the patched release once available. Affected and patched version numbers should be filled in when the release is published. ### Workarounds Do not expose the standard library `string` module or `string.Formatter` to restricted code. If a custom import hook is used, deny imports of `string` or provide only a restricted wrapper that does not expose `Formatter`. If custom globals are supplied, ensure neither `string.Formatter` nor `Formatter` instances are available to restricted code.
Recommended action
Recommended action
Upgrade affected packages to a patched version: RestrictedPython 8.4.
Technical details
- Vendor
- Not specified
- Product
- RestrictedPython
- Exploitation
- none known
- Evidence
- official
Evidence and sources
This record is attributed to GitHub Advisories. Exploitation status and remediation guidance are kept separate from the vulnerability's technical severity.
Open primary source