{"id":"CVE-2026-45725","title":"compliance-trestle is a tooling platform for managing compliance as code","summary":"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 fil…","severity":"high","cwe":["CWE-73"],"vendor":"compliance-trestle","product":"compliance-trestle","affected":["compliance-trestle >= 4.0.0, < 4.0.3","compliance-trestle < 3.12.2"],"patched":["compliance-trestle 4.0.3","compliance-trestle 3.12.2"],"published":"2026-08-13","updated":"2026-09-18","sourceUpdated":"2026-09-18T20:09:01.757","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-45725","references":[{"url":"https://github.com/oscal-compass/compliance-trestle/commit/89f4e53d159e8ff901da4d7c3b51c9556bd32ec0","label":"security-advisories@github.com"},{"url":"https://github.com/oscal-compass/compliance-trestle/commit/9abc492329fcc8d0557182317de9bde854385da3","label":"security-advisories@github.com"},{"url":"https://github.com/oscal-compass/compliance-trestle/security/advisories/GHSA-g3vg-vx23-3858","label":"security-advisories@github.com"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/compliance-trestle/PYSEC-2026-2424.yaml","label":"security-advisories@github.com"},{"url":"https://github.com/oscal-compass/compliance-trestle"}],"tags":["nvd","osv","pip"],"epss":0.00268,"epssPercentile":0.19262,"aliases":["GHSA-g3vg-vx23-3858","PYSEC-2026-2424"],"ecosystem":"pip","ingestedAt":"2026-07-13T18:57:58.031Z","slug":"CVE-2026-45725","body":"## Overview\n\ncompliance-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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-45725)\n\nAffected packages:\n\n- `compliance-trestle >= 4.0.0, < 4.0.3`\n- `compliance-trestle < 3.12.2`\n\nPatched in:\n\n- `compliance-trestle 4.0.3`\n- `compliance-trestle 3.12.2`\n\nSource: https://osv.dev/vulnerability/GHSA-g3vg-vx23-3858","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}