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.
Published: 2026-07-08
Score: 6.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability lies in setuptools’ handling of MANIFEST.in exclusion directives. Prior to version 83.0.0, the tool matched compiled glob patterns against on‑disk filenames without applying Unicode normalization. On macOS file systems that use APFS or HFS+, an attacker could create a file in NFD form that matches an excluded pattern defined in NFC form, thereby bypassing the exclusion and having the file packaged into a source distribution. The result is that unintended files—potentially sensitive data or malicious code—are included in distributions that are later distributed or installed, exposing a moderate confidentiality and integrity risk explained by CWE‑1025, CWE‑176, and CWE‑697.

Affected Systems

Any installation of the setuptools Python package with a version earlier than 83.0.0 running on macOS systems employing APFS or HFS+ systems is affected.

Risk and Exploitability

The CVSS score for this issue is 6.1, indicating moderate severity. The EPSS score is < 1% (0.0029), indicating a very low likelihood of exploitation, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires that the attacker have control over files on the filesystem used when building the source distribution—most commonly in a local developer or CI environment. The attack does not grant direct remote code execution but can lead to inclusion of malicious code upon installation by downstream users. The likely attack vector is a local build or CI pipeline on macOS that packages a source distribution without the latest version of setuptools.

Generated by OpenCVE AI on July 25, 2026 at 20:44 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade setuptools to version 83.0.0 or later to ensure Unicode normalization is applied when processing exclusions.
  • Update local development and CI build scripts to use the latest setuptools version, avoiding older releases that contain the vulnerability.
  • Repackage any existing source distributions with the updated setuptools to remove inadvertently included files.

Generated by OpenCVE AI on July 25, 2026 at 20:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-h35f-9h28-mq5c setuptools: MANIFEST.in exclusion bypass in sdist via Unicode normalization collision (NFC/NFD) on macOS APFS/HFS+
History

Sat, 11 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1025
References
Metrics threat_severity

None

threat_severity

Moderate


Fri, 10 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
First Time appeared Python
Python setuptools
Vendors & Products Python
Python setuptools

Wed, 08 Jul 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 08 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
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.
Title setuptools: MANIFEST.in exclusion bypass in sdist via Unicode normalization collision (NFC/NFD) on macOS APFS/HFS+
Weaknesses CWE-176
CWE-697
References
Metrics cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N'}


Subscriptions

Python Setuptools
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-08T16:44:52.269Z

Reserved: 2026-07-07T16:40:07.983Z

Link: CVE-2026-59890

cve-icon Vulnrichment

Updated: 2026-07-08T16:44:07.106Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-08T16:02:07Z

Links: CVE-2026-59890 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-25T20:45:02Z

Weaknesses
  • CWE-1025

    Comparison Using Wrong Factors

  • CWE-176

    Improper Handling of Unicode Encoding

  • CWE-697

    Incorrect Comparison