CVE-2026-76825

RestrictedPython: Sandbox escape via string.Formatter field resolution

State
Published
Severity
8.4 High
Published
Sep 16, 2026
Updated
Sep 16, 2026
Reserved
Aug 19, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.18.4 HighCVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:HGitHub_M

Weaknesses

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
  • CWE-470 Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
  • CWE-680 Integer Overflow to Buffer Overflow
  • CWE-693 Protection Mechanism Failure

Affected Products

ProductVersions
RestrictedPythonzopefoundation
  • < 8.4Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.