Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-57170— Trestle SSTI in Jinja2 include tags allows arbitrary code execution (Incomplete fix of CVE-2026-46439)

Quick assessment

Affected
oscal-compass compliance-trestle
Exploitation
Public or AI PoC available; prioritize validation
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Compliance-trestle(Trestle)是一个用于管理 OSCAL 合规文档的 Python SDK 和命令行工具。在 3.12.4 之前的版本,以及 4.0.0 至 4.0.3 版本中,自定义的 Jinja2 包含标签 和 会将已包含的 Markdown 文件内容重新解析为 Jinja2 模板代码,且该操作在一个未沙盒化(non-sandboxed)的环境中执行。这可能导致服务端模板注入(SSTI),进而引发任意代码执行。 具体而言, 中的 和 标签会将包含的文件内容传递给 ,并将其拼接到宿主模板的

CVSS 7.8 · High

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-57170

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Trestle SSTI in Jinja2 include tags allows arbitrary code execution (Incomplete fix of CVE-2026-46439)
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
对生成代码的控制不恰当(代码注入)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
oscal-compass compliance-trestle < 3.12.4 -

II. Public POCs for CVE-2026-57170

# POC Description Source Link Shenlong Link
AI-Generated POC Premium
Qwen3.6-35B-A3B · 9264 chars
Pro+ exclusive includes:
Vulnerability reproduction recording (real sandbox build + trigger, exclusive)
In-depth vulnerability mechanism
Trigger conditions & impact
Full executable POC code
Exploit chain & mitigation
POC zip download
100+ AI POC generations per month

III. Intelligence Information for CVE-2026-57170

登录查看更多情报信息。

Patches & Fixes for CVE-2026-57170 (1)

Vendor Advisories for CVE-2026-57170 (1)

Same Patch Batch · oscal-compass · 2026-08-25 · 4 CVEs total

CVE-2026-52776 8.6 HIGH Trestle URLSecurityValidator SSRF allowlist bypass via IPv4-mapped IPv6 and 0.0.0.0
CVE-2026-54757 7.8 HIGH Trestle has Server-Side Template Injection (SSTI) via Recursive Template Re-evaluation of
CVE-2026-57171 7.7 HIGH Trestle is vulnerable to arbitrary file write via path traversal in author generate comman

IV. Related Vulnerabilities

V. Comments for CVE-2026-57170

No comments yet


Leave a comment