CVE-2023-41039: Sandbox escape via various forms of "format" in RestrictedPython

Published Aug 30, 2023
·
Updated

Impact 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. This can lead to critical information disclosure. With RestrictedPython, the format functionality is available via the format and formatmap methods of str (and unicode) (accessed either via the class or its instances) and via string.Formatter. All known versions of RestrictedPython are vulnerable.

Patches The issue will be fixed in 5.4 and 6.2.

Workarounds There are no workarounds to fix the issue without upgrading.

References https://docs.python.org/3/library/stdtypes.html#str.formatmap http://lucumr.pocoo.org/2016/12/29/careful-with-str-format/ https://www.exploit-db.com/exploits/51580

For more information

If you have any questions or comments about this advisory:

Open an issue in the RestrictedPython issue tracker Email us at security@plone.org

Credits

Thanks for analysing and reporting the go to:

Abhishek Govindarasu Ankush Menat Ward Theunisse

Other sources

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. This can lead to critical information disclosure. With RestrictedPython, the format functionality is available via the format and formatmap methods of str (and unicode) (accessed either via the class or its instances) and via string.Formatter. All known versions of RestrictedPython are vulnerable. This issue has been addressed in commit 4134aedcff1 which has been included in the 5.4 and 6.2 releases. Users are advised to upgrade. There are no known workarounds for this vulnerability.

MITRE

Affected Software

5 affected componentsFixes available
pip/RestrictedPython>=6.0<=6.1
6.2
pip/RestrictedPython<=5.3
5.4
Zope RestrictedPython<5.4
Zope RestrictedPython>=6.0<6.2
debian/restrictedpython<=4.0~b3-2, <=4.0~b3-3
8.0-1

Event History

Aug 30, 2023
CVE Published
via MITRE·05:18 PM
Data Sourced
via MITRE·05:18 PM
DescriptionSeverityWeakness
Advisory Published
08:47 PM
Mar 27, 2025
Data Sourced
via Ubuntu·01:58 AM
RemedyDescriptionSeverityAffected Software
Data Sourced
via Launchpad·01:59 AM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2023-41039?

CVE-2023-41039 is a vulnerability in RestrictedPython, a restricted execution environment for Python, that allows for critical information disclosure through manipulated format strings.

2

How does the vulnerability in RestrictedPython impact Python?

The vulnerability allows an attacker to control the format string and gain unauthorized access to objects, potentially leading to critical information disclosure.

3

What is the severity of CVE-2023-41039?

The severity of CVE-2023-41039 is high, with a CVSS score of 8.3.

4

How can I fix the vulnerability in RestrictedPython?

To fix the vulnerability, update RestrictedPython to version 6.2 if using pip, or refer to the Zope RestrictedPython advisory for the appropriate fix.

5

Where can I find more information about CVE-2023-41039?

You can find more information about CVE-2023-41039 on the following references: - [GitHub Security Advisory](https://github.com/zopefoundation/RestrictedPython/security/advisories/GHSA-xjw2-6jm9-rf67) - [NIST National Vulnerability Database](https://nvd.nist.gov/vuln/detail/CVE-2023-41039) - [GitHub Commit](https://github.com/zopefoundation/RestrictedPython/commit/4134aedcff17c977da7717693ed89ce56d54c120)

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203