cve.bz

CVE-2026-57170

7.8 highEPSS 0.2%

High (7.8). EPSS 0.2% chance of exploitation in the next 30 days. Fixed in compliance-trestle 3.12.4, 4.1.0.

Compliance-trestle (Trestle) is a Python SDK and command-line tool for managing OSCAL compliance documents. In versions prior to 3.12.4 and 4.0.0 through 4.0.3, the custom Jinja2 include tags mdsection_include and md_clean_include re-parse the content of an included Markdown file as Jinja2 template code in a non-sandboxed environment, allowing server-side template injection that can lead to arbitrary code execution. The MDSectionInclude and MDCleanInclude tags in Trestle/core/jinja/tags.py pass included file content to Parser(self.environment, ...).parse(), splicing it into the host template's compilation, and the environment is a plain jinja2.Environment rather than a SandboxedEnvironment, so any expressions in the file are evaluated with full access to the usual SSTI gadget chain. Because Trestle's Markdown writers emit OSCAL prose and component-description fields verbatim, applying delimiter neutralization only to parameter tables, attacker-controlled OSCAL data such as a control statement, part prose, or component description containing Jinja2 syntax flows into an included Markdown file and is executed when the include tag re-parses it. This issue is fixed in version 4.1.0.

Severity

CVSS 3.1

7.8 high
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS
0.2% chance of exploitation in the next 30 days; higher than 14% of CVEs (scores of 2026-10-31)
CWEs
CWE-94, CWE-1336
Published
Modified
Record from
the NVD, synced

Packages (OSV)

AdvisoryEcosystemPackageAffectedFixed in
GHSA-mr95-65j8-9mxpPyPIcompliance-trestle<3.12.43.12.4
GHSA-mr95-65j8-9mxpPyPIcompliance-trestle>=4.0.0 <4.1.04.1.0
PYSEC-2026-4029PyPIcompliance-trestle<3.12.4
>=4.0.0 <4.1.0
3.12.4, 4.1.0

References

Check your stackJSON