Read the docs
TI-2026-39563 Aliases CVE-2026-54757GHSA-jw39-3688-r4rx

Trestle has Server-Side Template Injection (SSTI) via Recursive Template Re-evaluation of Untrusted Data

Priority LOW 36CWE-94Published · Updated

Key facts

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

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-94.

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, Trestle is vulnerable to server-side template injection that can lead to remote code execution. This occurs because the MDCleanInclude and MDSectionInclude Jinja2 tags re-parse untrusted Markdown content as template source code using a non-sandboxed jinja2.Environment. An attacker who controls content that Trestle renders, such as a crafted workspace Markdown file, a third-party SSP document, or a YAML lookup-table value, can inject a Jinja2 expression that traverses Python object internals to execute arbitrary operating system commands in the context of the Trestle process. 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.00364 30th 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
Total

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-jw39-3688-r4rx
—compliance-trestle (PyPI)4.0.0 to before 4.1.04.1.0Patch availableGHSA-jw39-3688-r4rx
  • 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-jw39-3688-r4rx
  • compliance-trestle (PyPI) Vendor— Affected 4.0.0 to before 4.1.0 Fixed in 4.1.0 Patch available GHSA-jw39-3688-r4rx

Remediation

  • Fix · CNA compliance-trestle (oscal-compass) Fixed in 3.12.4, 4.1.0
  • Fix · GHSA-jw39-3688-r4rx compliance-trestle (PyPI) Fixed in 3.12.4 Advisory →
  • Fix · GHSA-jw39-3688-r4rx 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-54757
  2. 2026-10-03 Alias added: GHSA-jw39-3688-r4rx
  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