Skip to content
OpenAdvisories
High · 8.3 CVE-2023-41039 EUVD-2023-0229GHSA-xjw2-6jm9-rf67PYSEC-2023-159

Sandbox escape via various forms of "format" in RestrictedPython

Published Aug 30, 2023 · Updated Oct 1, 2024 · Assigned by GitHub_M

Description

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 `format_map` 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.

Affected products

VendorProductAffectedFixed
zopefoundation RestrictedPython < 5.4, >= 6.0, < 6.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 restrictedpython 6.2-1 —
Debian 13 restrictedpython 6.2-1 —
Debian 12 restrictedpython No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu Pro 24.04 LTS restrictedpython 6.2-1ubuntu0.24.04.1~esm1 USN-7355-1
Ubuntu Pro 22.04 LTS restrictedpython 4.0~b3-3ubuntu0.1~esm1 USN-7355-1
Ubuntu Pro 20.04 LTS restrictedpython 4.0~b3-2ubuntu0.1~esm1 USN-7355-1

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI restrictedpython < 5.4 5.4 GHSA-xjw2-6jm9-rf67
PyPI restrictedpython >= 6.0, < 6.2 6.2 GHSA-xjw2-6jm9-rf67
PyPI restrictedpython >= 6.0, < 6.2 · < 5.4 6.2, 5.4 PYSEC-2023-159

Advisories 1

References