Advisory Database
  • Advisories
  • Dependency Scanning
  1. pypi
  2. ›
  3. tuf
  4. ›
  5. GHSA-qp9x-wp8f-qgjj

GHSA-qp9x-wp8f-qgjj: tuf has platform-dependent delegation path matching

May 28, 2026

DelegatedRole._is_target_in_pathpattern uses fnmatch.fnmatch to decide whether a given target path is authorized by a delegation’s glob pattern.

Python’s fnmatch.fnmatch calls os.path.normcase() on both arguments before matching. On POSIX hosts normcase is the identity function; on Windows hosts os.path resolves to ntpath, whose normcase lowercases its input and replaces / with \.

As a result, python-tuf’s delegation path pattern matching is case-sensitive on Linux/macOS but case-INSENSITIVE on Windows. This makes the authorization decision for a target dependent on the host operating system of the client running the updater.

The result on Windows is a TUF specification violation in the python-tuf ngclient implementation.

References

  • github.com/advisories/GHSA-qp9x-wp8f-qgjj
  • github.com/theupdateframework/python-tuf/releases/tag/v7.0.0
  • github.com/theupdateframework/python-tuf/security/advisories/GHSA-qp9x-wp8f-qgjj

Code Behaviors & Features

Detect and mitigate GHSA-qp9x-wp8f-qgjj with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 7.0.0

Fixed versions

  • 7.0.0

Solution

Upgrade to version 7.0.0 or above.

Impact 4 MEDIUM

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-178: Improper Handling of Case Sensitivity

Source file

pypi/tuf/GHSA-qp9x-wp8f-qgjj.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:44 +0000.