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

Medium 6.9 Published Updated

An attacker can read arbitrary files from the server filesystem by crafting a malicious OSCAL profile with path traversal sequences in the import URI.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-45774?

CVE-2026-45774 is a medium-severity path traversal vulnerability in oscal-compass compliance-trestle, published on 13 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

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.

Weakness: CWE-22

Which versions are affected by CVE-2026-45774?

5 open source packages ship an affected version, including compliance-trestle.

PackageAffectedFixed in
compliance-trestle PyPIAll versions3.12.2, 4.0.3
compliance-trestle PyPIAll versions3.12.2
compliance-trestle PyPIAll versions3.12.2
compliance-trestle PyPIFrom 4.0.04.0.3
compliance-trestle PyPIFrom 4.0.04.0.3

How do I fix CVE-2026-45774?

Upgrade compliance-trestle to a fixed version for your release line: 3.12.2 or 4.0.3.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2026-45774 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45774 exists.

Sources

Also known as GHSA-mj4x-vf5c-5xg8, PYSEC-2026-2426.

Is CVE-2026-45774 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free