6.1 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Local (L)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): Required (R)
- Scope (S): Unchanged (U)
- Confidentiality (C): High (H)
- Integrity (I): Low (L)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Local (L)
- Modified Attack Complexity (MAC): Low (L)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): Required (R)
- Modified Confidentiality (MC): High (H)
- Modified Scope (MS): Unchanged (U)
- Modified Integrity (MI): Low (L)
- Modified Availability (MA): None (N)
Activity log
- Created suggestion
setuptools: MANIFEST.in exclusion bypass in sdist via Unicode normalization collision (NFC/NFD) on macOS APFS/HFS+
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.
References
-
https://github.com/pypa/setuptools/security/advisories/GHSA-h35f-9h28-mq5c exploitx_refsource_CONFIRM
-
https://github.com/pypa/setuptools/releases/tag/v83.0.0 x_refsource_MISC
Affected products
- ==< 83.0.0
Matching in nixpkgs
pkgs.python313Packages.setuptools
Utilities to facilitate the installation of Python packages
pkgs.python314Packages.setuptools
Utilities to facilitate the installation of Python packages
pkgs.python313Packages.setuptools-dso
Setuptools extension for building non-Python Dynamic Shared Objects
pkgs.python313Packages.setuptools-git
Setuptools revision control system plugin for Git
pkgs.python313Packages.setuptools-scm
Handles managing your python package versions in scm metadata
pkgs.python314Packages.setuptools-dso
Setuptools extension for building non-Python Dynamic Shared Objects
pkgs.python314Packages.setuptools-git
Setuptools revision control system plugin for Git
pkgs.python314Packages.setuptools-scm
Handles managing your python package versions in scm metadata
pkgs.python313Packages.setuptools-lint
Package to expose pylint as a lint command into setup.py
pkgs.python313Packages.setuptools-odoo
Setuptools plugin for Odoo addons
pkgs.python313Packages.setuptools-rust
Setuptools plugin for Rust support
pkgs.python314Packages.setuptools-lint
Package to expose pylint as a lint command into setup.py
pkgs.python314Packages.setuptools-odoo
Setuptools plugin for Odoo addons
pkgs.python314Packages.setuptools-rust
Setuptools plugin for Rust support
pkgs.python313Packages.setuptools-trial
Setuptools plugin that makes unit tests execute with trial instead of pyunit
pkgs.python313Packages.types-setuptools
Typing stubs for setuptools
-
nixos-unstable 80.9.0.20251223
- nixpkgs-unstable 80.9.0.20251223
- nixos-unstable-small 80.9.0.20251223
-
nixos-26.05 80.9.0.20251223
- nixos-26.05-small 80.9.0.20251223
- nixpkgs-26.05-darwin 80.9.0.20251223
pkgs.python314Packages.setuptools-trial
Setuptools plugin that makes unit tests execute with trial instead of pyunit
pkgs.python314Packages.types-setuptools
Typing stubs for setuptools
-
nixos-unstable 80.9.0.20251223
- nixpkgs-unstable 80.9.0.20251223
- nixos-unstable-small 80.9.0.20251223
-
nixos-26.05 80.9.0.20251223
- nixos-26.05-small 80.9.0.20251223
- nixpkgs-26.05-darwin 80.9.0.20251223
pkgs.python313Packages.setuptools-gettext
Setuptools plugin for building mo files
pkgs.python314Packages.setuptools-gettext
Setuptools plugin for building mo files
pkgs.python313Packages.setuptools-generate
Generate shell completions and man page when building a python package
pkgs.python313Packages.setuptoolsBuildHook
None
pkgs.python314Packages.setuptools-generate
Generate shell completions and man page when building a python package
pkgs.python314Packages.setuptoolsBuildHook
None
pkgs.python313Packages.setuptools-git-versioning
Use git repo data (latest tag, current commit hash, etc) for building a version number according PEP-440
pkgs.python314Packages.setuptools-git-versioning
Use git repo data (latest tag, current commit hash, etc) for building a version number according PEP-440
pkgs.python313Packages.setuptools-changelog-shortener
Setuptools-changelog-shortener: add only newest changelog entries to long_description
pkgs.python314Packages.setuptools-changelog-shortener
Setuptools-changelog-shortener: add only newest changelog entries to long_description
pkgs.python313Packages.setuptools-declarative-requirements
Declarative setuptools Config Requirements Files Support
Package maintainers
-
@mweinelt Martin Weinelt <hexa@darmstadt.ccc.de>
-
@natsukium Tomoya Otabi <nixpkgs@natsukium.com>
-
@austinbutler Austin Butler <austinabutler@gmail.com>
-
@marius851000 Marius David <nix@mariusdavid.fr>
-
@TomaSajt TomaSajt
-
@NickHu Nick Hu <me@nickhu.co.uk>
-
@yajo Jairo Llopis <yajo.sk8@gmail.com>
-
@NickCao Nick Cao <nickcao@nichi.co>
-
@ryansydnor Ryan Sydnor <ryan.t.sydnor@gmail.com>
-
@fabaff Fabian Affolter <mail@fabian-affolter.ch>