---
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.30616
---

## Overview

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

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-77401)

Affected packages:

- `AccessControl < 7.4`

Patched in:

- `AccessControl 7.4`

Source: https://github.com/advisories/GHSA-pq59-9fq7-m886
