CVE-2026-54757: OSCAL Compliance-Trestle server-side template injection in Jinja2

CVE-2026-54757 · Severity: high · CVSS 7.8 · Published 2026-08-25

Compliance-Trestle is a Python tool for managing OSCAL compliance documents used by organizations to track security controls and audit requirements. Versions before 3.12.4 and 4.0.0-4.0.3 contain a server-side template injection vulnerability in how it processes Markdown files. An attacker who controls content that Trestle processes—such as a crafted compliance document or workspace file—can execute arbitrary operating system commands with the privileges of the Trestle process, potentially compromising the entire system or accessing sensitive compliance data.

Quick answers

Is CVE-2026-54757 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-54757 being exploited in the wild.
How severe is CVE-2026-54757?
High severity, with a CVSS score of 7.8, published 25 August 2026.
Which products and versions are affected?
OSCAL Compass Compliance-Trestle before 3.12.4 and 4.0.0 through 4.0.3.
Is there a fix for CVE-2026-54757?
A patch was published on 2026-08-03: Backport security fixes to v3 (commit 5335ff8) Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-54757 attacked?
It is attacked over the network or with local access, in a software library.
Am I affected by CVE-2026-54757?
Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is a server-side template injection (SSTI) flaw in the MDCleanInclude and MDSectionInclude Jinja2 tags. These tags re-parse untrusted Markdown content as Jinja2 template source code using a non-sandboxed jinja2.Environment, allowing arbitrary template expressions. An attacker can inject Jinja2 expressions that traverse Python object internals (via dunder attributes like `__globals__`, `__builtins__`) to achieve arbitrary code execution. Attack surface includes crafted workspace Markdown files, third-party SSP documents, or YAML lookup-table values that Trestle processes. No authentication is required if the attacker can control input documents. The vulnerability is fixed in versions 3.12.4 and 4.1.0 by sandboxing the Jinja2 environment or removing unsafe template re-parsing.

Affected products

  • OSCAL Compass Compliance-Trestle before 3.12.4 and 4.0.0 through 4.0.3

Timeline

  • 2026-08-25: disclosed: CVE-2026-54757 published
  • 2026-08-03: patched: Backport security fixes to v3 (commit 5335ff8)
  • 2026-06-24: patched: Security fix merged to develop branch (commit 0f82d19)

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.