Read the docs
TI-2026-33511 Aliases CVE-2026-45774GHSA-mj4x-vf5c-5xg8

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

Priority MEDIUM 64CWE-22Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Active
Attack complexity
Low
Attack requirements
None
Impact type
Information disclosure
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-22 and the CVSS impact.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00544 45th percentileScored 2026-11-07
Fix Fixed compliance-trestle (oscal-compass): 3.12.2, 4.0.3compliance-trestle (PyPI): 4.0.3, 3.12.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
oscal-compasscompliance-trestlebefore 3.12.2; 4.0.0 to before 4.0.33.12.2, 4.0.3Patch availableCNA
—compliance-trestle (PyPI)4.0.0 to before 4.0.34.0.3Patch availableGHSA-mj4x-vf5c-5xg8
—compliance-trestle (PyPI)before 3.12.23.12.2Patch availableGHSA-mj4x-vf5c-5xg8
  • compliance-trestle Vendoroscal-compass Affected before 3.12.2; 4.0.0 to before 4.0.3 Fixed in 3.12.2, 4.0.3 Patch available CNA
  • compliance-trestle (PyPI) Vendor— Affected 4.0.0 to before 4.0.3 Fixed in 4.0.3 Patch available GHSA-mj4x-vf5c-5xg8
  • compliance-trestle (PyPI) Vendor— Affected before 3.12.2 Fixed in 3.12.2 Patch available GHSA-mj4x-vf5c-5xg8

Remediation

  • Fix · CNA compliance-trestle (oscal-compass) Fixed in 3.12.2, 4.0.3
  • Fix · GHSA-mj4x-vf5c-5xg8 compliance-trestle (PyPI) Fixed in 4.0.3 Advisory →
  • Fix · GHSA-mj4x-vf5c-5xg8 compliance-trestle (PyPI) Fixed in 3.12.2 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

Not affected: 2 products
  • File Integrity Operator
  • Red Hat Hardened Images

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-45774
  2. 2026-10-03 Alias added: GHSA-mj4x-vf5c-5xg8
  3. 2026-10-10 Affected versions changed · Red Hat

References

  • TI-2026-37891 Trestle URLSecurityValidator SSRF allowlist bypass via IPv4-mapped IPv6 and 0.0.0.0 CVSS 4.0HIGH 8.6
  • TI-2026-34065 compliance-trestle - jinja has an Arbitrary File Write via Path Traversal CVSS 3.1HIGH 8.4
  • TI-2026-34145 compliance-trestle Vulnerable to Remote Code Execution via Recursive Server-Side Template Injection (SSTI) CVSS 3.1HIGH 7.8
  • TI-2026-34095 compliance-trestle Vulnerable to SSRF in Remote Fetching Subsystem CVSS 3.1MEDIUM 6.7
  • TI-2026-41137 Trestle SSTI in Jinja2 include tags allows arbitrary code execution (Incomplete fix of CVE-2026-46439) CVSS 3.1HIGH 7.8
  • TI-2026-39563 Trestle has Server-Side Template Injection (SSTI) via Recursive Template Re-evaluation of Untrusted Data CVSS 3.1HIGH 7.8
See all 8 →

Sources