CVE-2026-45725: oscal-compass compliance-trestle · External Control of File Name or Path
Affects oscal-compass compliance-trestleSource CVE Database V5
Not known to be exploited · CVSS 7.1 High : upgrade to 4.0.3 or 3.12.2 soon.
Data as of 10 Nov 2026, 23:24 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 40% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 4.0.3, 3.12.2, 3.12.3
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 13 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 11 Nov 2026.
What to do
Upgrade compliance-trestle to 4.0.3 or 3.12.2; compliance-trestle to 4.0.3 or 3.12.3.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| oscal-compasscompliance-trestle | Affected
| Fixed in
|
| oscal-compasscompliance-trestle | Affected
| Fixed in
|
PyPIcompliance-trestlepkg:pypi/compliance-trestleOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade compliance-trestle to version 3.12.3 or later, or 4.0.3 or later, where the vulnerability is patched. No other mitigations are indicated. Patch status is not explicitly stated as 'official-fix' in the vendor advisory, but the version increments and description confirm the fix availability in these versions.
Description
compliance-trestle is a tooling platform for managing compliance as code. Prior to versiions 3.12.2 and 4.0.3, the compliance-trestle library's remote fetching cache mechanism (HTTPSFetcher and SFTPFetcher) constructs the local cache file path from the URL path component without sanitizing path traversal sequences (`../`). When a remote OSCAL profile references a URL with traversal in its path, the HTTP response body is written to a location outside the intended cache directory, enabling arbitrary file write with attacker-controlled content to the filesystem. Versions 3.12.3 and 4.0.3 patch the issue.
References
- github.com/oscal-compass/compliance-trestle/security/advisories/GHSA-g3vg-vx23-3858 (opens in a new tab)
- github.com/oscal-compass/compliance-trestle/commit/89f4e53d159e8ff901da4d7c3b51c9556bd32ec0 (opens in a new tab)
- github.com/oscal-compass/compliance-trestle/commit/9abc492329fcc8d0557182317de9bde854385da3 (opens in a new tab)
- github.com/pypa/advisory-database/tree/main/vulns/compliance-trestle/PYSEC-2026-2424.yaml (opens in a new tab)