Read the docs
TI-2026-41138 Aliases CVE-2026-57171GHSA-r4vp-3vw6-r2x5

Path traversal in oscal-compass compliance-trestle

Priority LOW 33CWE-22Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

Compliance-trestle (Trestle) is a Python SDK and command-line tool for managing OSCAL compliance documents. In versions before 3.12.4 and versions 4.0.0 through 4.0.3, the catalog-generate, profile-generate, and ssp-generate author commands write generated Markdown to an attacker-influenced output path without path-traversal validation, allowing arbitrary file write outside the Trestle workspace. These commands join the user-supplied output argument onto the Trestle root and write to the result, but guard it only with an is_directory_name_allowed() task-name-collision check rather than the PathSecurityValidator.validate_local_path() guard used by the jinja command, so an absolute path or one containing traversal sequences escapes the workspace and writes files under an attacker-chosen location as the invoking process owner. The security boundary is crossed when a trusted CI job, shared service, or wrapper derives the output argument from repository-controlled, tenant-controlled, or otherwise untrusted data while expecting output to stay inside the workspace. When --force-overwrite is used, the selected output directory is first recursively deleted, extending the primitive to destruction of an attacker-chosen directory tree and enabling indirect code execution by overwriting files a pipeline later runs. This issue is fixed in versions 3.12.4 and 4.1.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00221 12th percentileScored 2026-11-07
Fix Fixed compliance-trestle (oscal-compass): 3.12.4, 4.1.0compliance-trestle (PyPI): 3.12.4, 4.1.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
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.4; 4.0.0 to before 4.1.03.12.4, 4.1.0Patch availableCNA
—compliance-trestle (PyPI)before 3.12.43.12.4Patch availableGHSA-r4vp-3vw6-r2x5
—compliance-trestle (PyPI)4.0.0 to before 4.1.04.1.0Patch availableGHSA-r4vp-3vw6-r2x5
  • compliance-trestle Vendoroscal-compass Affected before 3.12.4; 4.0.0 to before 4.1.0 Fixed in 3.12.4, 4.1.0 Patch available CNA
  • compliance-trestle (PyPI) Vendor— Affected before 3.12.4 Fixed in 3.12.4 Patch available GHSA-r4vp-3vw6-r2x5
  • compliance-trestle (PyPI) Vendor— Affected 4.0.0 to before 4.1.0 Fixed in 4.1.0 Patch available GHSA-r4vp-3vw6-r2x5

Remediation

  • Fix · CNA compliance-trestle (oscal-compass) Fixed in 3.12.4, 4.1.0
  • Fix · GHSA-r4vp-3vw6-r2x5 compliance-trestle (PyPI) Fixed in 3.12.4 Advisory →
  • Fix · GHSA-r4vp-3vw6-r2x5 compliance-trestle (PyPI) Fixed in 4.1.0 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-57171
  2. 2026-10-03 Alias added: GHSA-r4vp-3vw6-r2x5
  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-33511 compliance-trestle Profile Import has an Arbitrary File Read via trestle:// URI and Relative Path Traversal CVSS 4.0MEDIUM 6.9
  • 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
See all 8 →

Sources