CVE-2026-59890 setuptools: MANIFEST.in exclusion bypass in sdist via Unicode normalization collision (NFC/NFD) on macOS APFS/HFS+
Attackers can bypass file exclusion rules in source distributions on macOS by exploiting Unicode normalization collisions, potentially leaking sensitive files.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-59890?
CVE-2026-59890 is a medium-severity vulnerability in pypa setuptools, published on 8 Jul 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
setuptools is a package that allows users to download, build, install, upgrade, and uninstall Python packages. Prior to 83.0.0, FileList applied MANIFEST.in exclude, global-exclude, recursive-exclude, and prune directives by matching compiled glob patterns against on-disk file names without Unicode normalization, so on macOS APFS or HFS+ an NFD file name could bypass an NFC exclusion rule and be packed into a source distribution. This issue is fixed in version 83.0.0.
Which versions are affected by CVE-2026-59890?
4 open source packages ship an affected version, including setuptools. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
setuptools Bitnami | All versions | 83.0.0 |
setuptools PyPI | All versions | 83.0.0 |
setuptools PyPI | All versions | 83.0.0 |
setuptools PyPI | All versions | 83.0.0 |
Linux distribution packages (3)
python-setuptools Red Hat:hummingbird:1 | All versions | 0:83.0.0-4.hum1 |
python-setuptools-wheel Red Hat:hummingbird:1 | All versions | 0:83.0.0-4.hum1 |
python3-setuptools Red Hat:hummingbird:1 | All versions | 0:83.0.0-4.hum1 |
Products include Python Setuptools.
How do I fix CVE-2026-59890?
Upgrade setuptools to 83.0.0 or later.
Is CVE-2026-59890 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-59890 exists.
Other vulnerabilities in pypa setuptools
Sources
Also known as AZL-110366, AZL-92229, BELL-CVE-2026-59890, BIT-setuptools-2026-59890, CLEANSTART-2026-BQ91197, CLEANSTART-2026-DF15626 and 26 more.