Track vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
7.7
CVE-2021-32807: Zope's AccessControl module allows untrusted code execution
CVE-2021-32807 · published 5 years ago
Summary
Certain Zope configurations allow untrusted users to create and edit Python scripts, which can lead to code execution. This can be fixed by restricting access to these scripts or upgrading to AccessControl 4.3 or 5.2.
What to do
- Update zope foundation and contributors zope to version 4.6.3.
- Update zope foundation and contributors zope to version 5.3.
- Update zope foundation and contributors zope to version 5.2.
- Update zope foundation and contributors zope to version 4.3.
- Update zope foundation and contributors accesscontrol to version 4.3.
- Update zope foundation and contributors accesscontrol to version 5.2.
Affected software
| Ecosystem | Vendor | Product | Affected versions |
|---|---|---|---|
| – | zope | accesscontrol |
>= 4.0, < 4.3 >= 5.0, < 5.2 cpe:2.3:a:zope:accesscontrol:*:*:*:*:*:*:*:* |
| – | zope | zope |
>= 4.0, < 4.6.3 >= 5.0, < 5.3 cpe:2.3:a:zope:zope:*:*:*:*:*:*:*:* |
| pip | zope foundation and contributors | zope |
>= 4.0, < 4.6.3 >= 5.0, < 5.3 Fix: upgrade to 4.6.3
|
| PyPI | zope foundation and contributors | zope |
>= 5.0, < 5.2 Fix: upgrade to 5.2
|
| pip | zope foundation and contributors | zope |
>= 4.0, < 4.3 Fix: upgrade to 4.3
|
| pip | zope foundation and contributors | accesscontrol |
>= 4.0, < 4.3 >= 5.0, < 5.2 Fix: upgrade to 4.3
|
Original advisory text
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 th...
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.
References
- https://nvd.nist.gov/vuln/detail/CVE-2021-32807
- https://github.com/zopefoundation/Zope/security/advisories/GHSA-g4gq-j4p2-j8fr
- https://github.com/zopefoundation/AccessControl/commit/ae2dab0cc34e6dd1561c5b12d...
- https://github.com/zopefoundation/Zope/commit/869f947e586517566509e0ccdd4d99b607...
- https://github.com/zopefoundation/Zope/commit/f72a18dda8e9bf2aedb46168761668464a...
- https://github.com/pypa/advisory-database/tree/main/vulns/accesscontrol/PYSEC-20...
- https://github.com/pypa/advisory-database/tree/main/vulns/accesscontrol/PYSEC-20...
- https://github.com/pypa/advisory-database/tree/main/vulns/zope/PYSEC-2021-368.ya...
- https://github.com/advisories/GHSA-qcx9-j53g-ccgf
- https://nvd.nist.gov/vuln/detail/CVE-2021-32811
- https://github.com/advisories/GHSA-g4gq-j4p2-j8fr
- https://github.com/pypa/advisory-database/tree/main/vulns/zope/PYSEC-2021-875.ya...
- https://github.com/zopefoundation/AccessControl Product
- https://github.com/zopefoundation/AccessControl/blob/master/CHANGES.rst#51-2021-... Release Notes Third Party Advisory
- https://github.com/zopefoundation/AccessControl/commit/b42dd4badf803bb9fb71ac34c... Patch Third Party Advisory
- https://github.com/zopefoundation/AccessControl/security/advisories/GHSA-qcx9-j5... Third Party Advisory
Internet-facing
60 days
Internal
At next upgrade
- Not known to be exploited
- Needs hands-on effort to exploit (estimated)
- Gives an attacker partial control (estimated)
Severity
7.7
High
Type
CWE-915Improperly Controlled Modification of Dynamically-Determined Object Attributes
CWE-1321Prototype Pollution
Timeline
Published30 Jul 2021
Updated4 Nov 2026
First seen6 Mar 2026
Sources
GHSA-qcx9-j53g-ccgf · GHSA
CVE-2021-32807 · NVD
PYSEC-2021-875 · OSV
GHSA-qcx9-j53g-ccgf · OSV
PYSEC-2021-335 · OSV
Track software like this
Free during beta