PT-2026-44729 · Pypi · Compliance-Trestle

CVE-2026-45774

·

Published

2026-05-28

·

Updated

2026-08-13

CVSS v4.0

6.9

Medium

VectorAV: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

CVE-2026-45774
GHSA-MJ4X-VF5C-5XG8
PYSEC-2026-2426

Affected Products

Compliance-Trestle