{"id":"CVE-2026-77401","title":"Zope AccessControl provides a general security framework for use in Zope","summary":"Zope AccessControl provides a general security framework for use in Zope. Prior to 7.4, applications that allow untrusted users to create and execute AccessControl-controlled Python code do not safely guard str.format and str.format_map …","severity":"medium","cvss":6.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N","cwe":["CWE-693"],"vendor":"zopefoundation","product":"AccessControl","affected":["AccessControl < 7.4"],"published":"2026-09-16","updated":"2026-09-16","sourceUpdated":"2026-09-16T19:17:38.167","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-77401","references":[{"url":"https://github.com/zopefoundation/AccessControl/commit/f980450eea416718be62847f34dfd51822938e43","label":"security-advisories@github.com"},{"url":"https://github.com/zopefoundation/AccessControl/releases/tag/7.4","label":"security-advisories@github.com"},{"url":"https://github.com/zopefoundation/AccessControl/security/advisories/GHSA-pq59-9fq7-m886","label":"security-advisories@github.com"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-77401"},{"url":"https://github.com/advisories/GHSA-pq59-9fq7-m886"},{"url":"https://github.com/zopefoundation/AccessControl"}],"tags":["nvd","cve.org","ghsa","pip","osv"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-09-16T18:18:37.466466Z"},"ingestedAt":"2026-09-16T14:57:28.053Z","aliases":["GHSA-pq59-9fq7-m886"],"ecosystem":"pip","patched":["AccessControl 7.4"],"epss":0.00368,"epssPercentile":0.30478,"slug":"CVE-2026-77401","body":"## Overview\n\nZope AccessControl provides a general security framework for use in Zope. Prior to 7.4, applications that allow untrusted users to create and execute AccessControl-controlled Python code do not safely guard str.format and str.format_map when those methods are reached through a str subclass. In both ImplPython.py and cAccessControl.c, Python formatting can recursively access attributes and subscriptions using unrestricted getattr and getitem behavior instead of the policy-restricted getattr and getitem operations. A controlled format string can therefore disclose objects reachable from values available to the formatting operation. This issue is fixed in version 7.4.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-77401)\n\nAffected packages:\n\n- `AccessControl < 7.4`\n\nPatched in:\n\n- `AccessControl 7.4`\n\nSource: https://github.com/advisories/GHSA-pq59-9fq7-m886","depth":"sunlit","depthScore":37,"depthScoreParts":{"impact":37.4,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}