Black GitHub Action installs code from pyproject.toml version field
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-829.
Summary
Black before 26.10.1 (PyPI package black), when run through the Black GitHub Action with use_pyproject set to true, accepts the tool.black.required-version value from pyproject.toml without checking that it is a released Black version specifier. This is an inclusion of functionality from an untrusted control sphere (CWE-829). An attacker with low privileges who can submit a pull request can set this field to a direct reference to attacker-controlled code, which the workflow then installs and runs in the victim repository's GitHub Actions context.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Black is the uncompromising Python code formatter. Prior to 26.10.1, the Black GitHub Action with use_pyproject: true accepts tool.black.required-version from pyproject.toml without validating that it is a released Black version specifier. An attacker who can submit a pull request can change that field to a direct reference to attacker-controlled code, causing the workflow to install and execute the code in the victim repository's GitHub Actions context. This issue is fixed in version 26.10.1.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| python-pillow | black | before 26.10.1 | 26.10.1 | Patch available | CNA |
| — | black (PyPI) | before 26.10.1 | 26.10.1 | Patch available | GHSA-cg8m-r9f2-5wm2 |
- black Vendorpython-pillow Affected before 26.10.1 Fixed in 26.10.1 Patch available CNA
- black (PyPI) Vendor— Affected before 26.10.1 Fixed in 26.10.1 Patch available GHSA-cg8m-r9f2-5wm2
Remediation
Upgrade Black to version 26.10.1.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA black (psf) Fixed in 26.10.1
- Fix · GHSA-cg8m-r9f2-5wm2 black (PyPI) Fixed in 26.10.1 Advisory →
Vendor assessments
Timeline
- 2026-11-05 Threatist record created from CVE-2026-114134
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
- 2026-11-07 Priority changed: MEDIUM → LOW
References
More python-pillow vulnerabilities
- TI-2016-01993 The DES and Triple DES ciphers, as used in the TLS, SSH, and IPSec protocols and other… CVSS 3.1HIGH 7.5
- TI-2022-24108 An XML External Entity (XXE) issue was discovered in Python through 3.9.1. CVSS 3.1CRITICAL 9.8
- TI-2022-17508 The Keccak XKCP SHA-3 reference implementation before fdc6fef has an integer overflow and… CVSS 3.1CRITICAL 9.8
- TI-2021-02254 Python 3.x through 3.9.1 has a buffer overflow in PyCArg_repr in _ctypes/callproc.c… CVSS 3.1CRITICAL 9.8
- TI-2007-04413 Directory traversal vulnerability in the (1) extract and (2) extractall functions in the… CVSS 3.1CRITICAL 9.8
- TI-2026-76627 Out-of-bounds read in Pillow TIFF encoder ColorMap handling CVSS 4.0HIGH 8.8
Sources
- CVE-2026-114134 · CVE Program
- CVE-2026-114134 · NVD
- FIRST EPSS
- CVE-2026-114134 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences