Vulnerability · Published Aug 13, 2026 · Assigned by GitHub_M

CVE-2026-45774compliance-trestle Profile Import has an Arbitrary File Read via trestle:// URI and Relative Path Traversal

Medium 6.9

In plain English

A medium-severity path traversal in compliance-trestle from oscal-compass. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 46% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)6.9Medium
Exploit odds (30 days)0.5%top 54.1% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

compliance-trestle is a tooling platform for managing compliance as code. Prior to versions 3.12.2 and 4.0.3, the compliance-trestle library's profile import mechanism resolves `trestle://` URIs and relative file paths by joining them with `trestle_root` and calling `.resolve()`, but performs no boundary check to ensure the resolved path stays within the trestle workspace. An attacker can craft a malicious OSCAL profile YAML with `imports[].href` containing path traversal sequences to read arbitrary files from the server filesystem. Versions 3.12.3 and 4.0.3 patch the issue.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPIcompliance-trestle4.0.3GHSA-mj4x-vf5c-5xg8
PyPIcompliance-trestle3.12.2GHSA-mj4x-vf5c-5xg8
PyPIcompliance-trestle3.12.2, 4.0.3PYSEC-2026-2426

Affected products (as reported)

VendorProductVersions
oscal-compass compliance-trestle < 3.12.2>= 4.0.0, < 4.0.3

Weakness: CWE-22 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

References