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.
Published: 2026-08-13
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Compliance‑trestle’s profile import mechanism, used before versions 3.12.2 and 4.0.3, resolves `trestle://` URIs and relative file paths by appending them to the trestle_root directory and calling `.resolve()`. It performs no boundary check to keep the resolved path inside the trestle workspace. This omission allows an attacker who supplies a malicious OSCAL profile YAML containing path‑traversal sequences in `imports[].href` to read arbitrary files from the server filesystem. The vulnerability (CWE‑22) exposes sensitive files or credentials, compromising confidentiality. The issue has been fixed in versions 3.12.3 and 4.0.3.

Affected Systems

The vulnerability applies to oscal‑compass compliance‑trestle library in versions 3.12.2 or earlier and 4.0.3 or earlier. Any installation that has not been updated to 3.12.3 or a newer release lacks the fix that validates import paths against the trestle workspace.

Risk and Exploitability

This flaw carries a CVSS score of 6.9, indicating a medium severity. The EPSS score is 0.00371, indicating a very low but non-zero likelihood of exploitation, and it is not listed in the CISA KEV catalog. An attacker who can trigger the profile import—by uploading a malicious OSCAL file through the tool’s interface or API—could read any file accessible to the process. The confidentiality impact is significant, while other impacts like remote code execution are not implied.

Generated by OpenCVE AI on August 14, 2026 at 17:53 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade compliance‑trestle to the patched release 3.12.3 or later, which enforces boundary checks when resolving import paths.
  • In the interim, limit profile import functionality to trusted sources or disable the trestle:// URI scheme to avoid processing malicious imports.
  • Examine system logs for unexpected file read activity and verify the integrity of existing OSCAL profiles before importing.

Generated by OpenCVE AI on August 14, 2026 at 17:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-mj4x-vf5c-5xg8 compliance-trestle Profile Import has an Arbitrary File Read via trestle:// URI and Relative Path Traversal
History

Sat, 15 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

threat_severity

Important


Fri, 14 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Description compliance-trestle is a tooling platform for managing compliance as code. Prior to versiions 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. 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.

Fri, 14 Aug 2026 10:00:00 +0000

Type Values Removed Values Added
First Time appeared Oscal-compass
Oscal-compass compliance-trestle
Vendors & Products Oscal-compass
Oscal-compass compliance-trestle

Thu, 13 Aug 2026 19:45:00 +0000

Type Values Removed Values Added
Description compliance-trestle is a tooling platform for managing compliance as code. Prior to versiions 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.
Title compliance-trestle Profile Import has an Arbitrary File Read via trestle:// URI and Relative Path Traversal
Weaknesses CWE-22
References
Metrics cvssV4_0

{'score': 6.9, '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'}


Subscriptions

Oscal-compass Compliance-trestle
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-14T17:04:38.615Z

Reserved: 2026-05-13T07:45:21.251Z

Link: CVE-2026-45774

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-13T20:17:22.173

Modified: 2026-08-14T18:17:26.900

Link: CVE-2026-45774

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-13T19:26:44Z

Links: CVE-2026-45774 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T18:00:12Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')