Skip to main content
← All vulnerabilities
CVE-2026-54757PYSEC-2026-3817GHSA-JW39-3688-R4RX

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.12.4, 4.1.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • oscal-compass compliance-trestle

    fixed in 3.12.4; From 4.0.0 · fixed in 4.1.0

  • compliance-trestlePyPI

    fixed in 3.12.4; From 4.0.0 · fixed in 4.1.0

  • compliance-trestlePyPI

    fixed in 3.12.4

  • compliance-trestlePyPI

    From 4.0.0 · fixed in 4.1.0

References 3

GitHub · oscal-compass/compliance-trestle