CVE-2026-76825 PUBLISHED

RestrictedPython: Sandbox escape via string.Formatter field resolution

Assigner: GitHub_M
Reserved: 19.08.2026 Published: 16.09.2026 Updated: 16.09.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H
CVSS Score: 8.4

Product Status

Vendor zopefoundation
Product RestrictedPython
Versions
  • Version < 8.4 is affected

References

Problem Types

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