python-tuf is a Python reference implementation of The Update Framework (TUF). Prior to 7.0.0, DelegatedRole._is_target_in_pathpattern in tuf/api/_payload.py uses fnmatch.fnmatch, which applies os.path.normcase before matching and makes delegation path authorization case-insensitive on Windows. When a TUF repository has path-based delegations that differ only by case and an attacker-controlled role is visited before the legitimate role, ngclient can accept an attacker-provided target from the wrong delegation for a requested path. Linux and macOS clients are not affected because their path normalization does not change case. This issue is fixed in 7.0.0.

Project Subscriptions

Vendors Products
Theupdateframework Subscribe
Python-tuf Subscribe
Advisories
Source ID Title
Github GHSA Github GHSA GHSA-qp9x-wp8f-qgjj tuf has platform-dependent delegation path matching
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Thu, 12 Nov 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Theupdateframework
Theupdateframework python-tuf
Vendors & Products Theupdateframework
Theupdateframework python-tuf

Wed, 11 Nov 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 09 Nov 2026 20:30:00 +0000

Type Values Removed Values Added
Description python-tuf is a Python reference implementation of The Update Framework (TUF). Prior to 7.0.0, DelegatedRole._is_target_in_pathpattern in tuf/api/_payload.py uses fnmatch.fnmatch, which applies os.path.normcase before matching and makes delegation path authorization case-insensitive on Windows. When a TUF repository has path-based delegations that differ only by case and an attacker-controlled role is visited before the legitimate role, ngclient can accept an attacker-provided target from the wrong delegation for a requested path. Linux and macOS clients are not affected because their path normalization does not change case. This issue is fixed in 7.0.0.
Title python-tuf: Platform-dependent delegation path matching
Weaknesses CWE-178
References
Metrics cvssV3_1

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


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-09T20:18:45.481Z

Reserved: 2026-11-06T15:27:56.226Z

Link: CVE-2026-123806

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-09T22:18:36.503

Modified: 2026-11-09T22:18:36.503

Link: CVE-2026-123806

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-11-09T20:18:45Z

Links: CVE-2026-123806 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-11-12T16:09:32Z

Weaknesses