{"cve":"CVE-2021-32807","nvd":{"published":"2021-07-30T22:15:07.967","modified":"2026-06-17T03:53:40.153","status":"Modified","description":"The module `AccessControl` defines security policies for Python code used in restricted code within Zope applications. Restricted code is any code that resides in Zope's object database, such as the contents of `Script (Python)` objects. The policies defined in `AccessControl` severely restrict access to Python modules and only exempt a few that are deemed safe, such as Python's `string` module. However, full access to the `string` module also allows access to the class `Formatter`, which can be overridden and extended within `Script (Python)` in a way that provides access to other unsafe Python libraries. Those unsafe Python libraries can be used for remote code execution. By default, you need to have the admin-level Zope \"Manager\" role to add or edit `Script (Python)` objects through the web. Only sites that allow untrusted users to add/edit these scripts through the web - which would be a very unusual configuration to begin with - are at risk. The problem has been fixed in AccessControl 4.3 and 5.2. Only AccessControl versions 4 and 5 are vulnerable, and only on Python 3, not Python 2.7. As a workaround, a site administrator can restrict adding/editing `Script (Python)` objects through the web using the standard Zope user/role permission mechanisms. Untrusted users should not be assigned the Zope Manager role and adding/editing these scripts through the web should be restricted to trusted users only. This is the default configuration in Zope.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H","score":7.2},"cwes":["CWE-1321","CWE-915"],"references":["https://github.com/zopefoundation/AccessControl/blob/master/CHANGES.rst#51-2021-07-30","https://github.com/zopefoundation/AccessControl/commit/b42dd4badf803bb9fb71ac34cd9cb0c249262f2c","https://github.com/zopefoundation/AccessControl/security/advisories/GHSA-qcx9-j53g-ccgf","https://github.com/zopefoundation/AccessControl/blob/master/CHANGES.rst#51-2021-07-30","https://github.com/zopefoundation/AccessControl/commit/b42dd4badf803bb9fb71ac34cd9cb0c249262f2c"],"products":["zope:accesscontrol"],"source":"nvd","synced_at":"2026-10-19T21:21:13.713336758+00:00"},"epss":{"cve":"CVE-2021-32807","score":0.02049,"percentile":0.81231,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-qcx9-j53g-ccgf","url":"https://osv.dev/vulnerability/GHSA-qcx9-j53g-ccgf","summary":"Remote Code Execution via unsafe classes in otherwise permitted modules","modified":"2026-07-09T16:56:14.762787976Z","packages":[{"ecosystem":"PyPI","name":"accesscontrol","purl":"pkg:pypi/accesscontrol","ranges":[">=4.0 <4.3"],"fixed":["4.3"]},{"ecosystem":"PyPI","name":"accesscontrol","purl":"pkg:pypi/accesscontrol","ranges":[">=5.0 <5.2"],"fixed":["5.2"]},{"ecosystem":"PyPI","name":"zope","purl":"pkg:pypi/zope","ranges":[">=4.0 <4.3"],"fixed":["4.3"]},{"ecosystem":"PyPI","name":"zope","purl":"pkg:pypi/zope","ranges":[">=5.0 <5.2"],"fixed":["5.2"]}]},{"id":"PYSEC-2021-335","url":"https://osv.dev/vulnerability/PYSEC-2021-335","summary":"","modified":"2026-07-09T16:56:14.762787976Z","packages":[{"ecosystem":"PyPI","name":"accesscontrol","purl":"pkg:pypi/accesscontrol","ranges":[">=4.0 <4.3",">=5.0 <5.2"],"fixed":["4.3","5.2"]}]},{"id":"PYSEC-2021-875","url":"https://osv.dev/vulnerability/PYSEC-2021-875","summary":"","modified":"2026-07-09T16:56:14.762787976Z","packages":[{"ecosystem":"PyPI","name":"zope","purl":"pkg:pypi/zope","ranges":[">=4.0 <4.3",">=5.0 <5.2"],"fixed":["4.3","5.2"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}