CVE-2026-59890 in setuptoolsinfo

Summary

by MITRE • 07/08/2026

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.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 07/08/2026

The setuptools vulnerability represents a critical flaw in Python package management that stems from improper Unicode normalization handling during file inclusion and exclusion operations within source distributions. This vulnerability affects versions prior to 83.0.0 and specifically impacts how the FileList component processes MANIFEST.in directives including exclude, global-exclude, recursive-exclude, and prune rules. The technical root cause lies in the mismatch between how file names are normalized during pattern matching versus how they are stored on specific filesystems, creating a potential bypass mechanism for malicious actors seeking to include unauthorized files in package distributions.

The operational impact of this vulnerability becomes particularly significant when considering the filesystem characteristics of macOS systems utilizing APFS or HFS+ filesystems where Unicode normalization behavior differs from typical Unix systems. These filesystems store file names using NFD (Normalization Form Decomposed) encoding, while the setuptools exclusion rules were designed to work with NFC (Normalization Form Composed) patterns. This discrepancy creates an exploitable gap where files named in NFD format can bypass exclusion rules that were crafted for NFC representations, allowing potentially malicious or unwanted files to be included in source distributions without proper authorization.

This vulnerability aligns with CWE-174, which addresses the weakness of insufficient Unicode normalization in file system operations, and represents a classic example of how platform-specific filesystem behaviors can create security gaps in cross-platform software tools. From an attack perspective, this flaw maps to ATT&CK technique T1059.001 for executing malicious code through package installation mechanisms and potentially T1587.001 for developing capabilities through malicious package creation. The vulnerability demonstrates how seemingly benign configuration management features can become security risks when filesystem normalization differences are not properly accounted for in the implementation.

The fix implemented in setuptools version 83.0.0 addresses this issue by ensuring consistent Unicode normalization across all file name comparisons, specifically applying NFC normalization to both on-disk file names and exclusion patterns before matching operations. This mitigation strategy aligns with industry best practices for cross-platform security implementations where Unicode handling must be consistent regardless of underlying filesystem characteristics. Organizations should prioritize updating their setuptools installations to version 83.0.0 or later to eliminate this vulnerability, particularly those maintaining Python package repositories or deploying packages on macOS systems where the NFD normalization behavior could be exploited.

Security teams should implement monitoring for unauthorized package distributions that might leverage this vulnerability and establish verification procedures for source distribution integrity. The fix demonstrates the importance of considering platform-specific filesystem behaviors in security-sensitive software components and highlights how seemingly simple pattern matching operations can become complex security considerations when dealing with internationalized file naming conventions. This vulnerability serves as a reminder that Unicode handling, while often considered a text processing concern, can have profound implications for security controls in package management and distribution systems.

Responsible

GitHub M

Reservation

07/07/2026

Disclosure

07/08/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!