PT-2026-44729 · Pypi · Compliance-Trestle
CVE-2026-45774
·
Published
2026-05-28
·
Updated
2026-08-13
CVSS v4.0
6.9
Medium
| Vector | AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Name of the Vulnerable Software and Affected Versions
compliance-trestle versions prior to 3.12.3
compliance-trestle versions prior to 4.0.3
Description
The profile import mechanism in the compliance-trestle library fails to perform boundary checks when resolving
trestle:// URIs and relative file paths. By joining these paths with trestle root and calling .resolve(), the system allows the resolution of paths outside the intended trestle workspace. An attacker can exploit this by crafting a malicious OSCAL profile YAML file containing path traversal sequences in the imports[].href parameter to read arbitrary files from the server filesystem. This can be achieved through the trestle:// URI scheme, relative paths in the href, or via back matter rlinks. The issue is located within the LocalFetcher class in trestle/core/remote/cache.py and the Import class in trestle/core/resolver/ import.py.Recommendations
Update compliance-trestle to version 3.12.3 or later.
Update compliance-trestle to version 4.0.3 or later.
As a temporary mitigation, restrict the import of OSCAL profile YAML files from untrusted or attacker-controlled sources.
Exploit
Fix
Path traversal
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Compliance-Trestle