CVE-2026-57171
Received Received - Intake

Path Traversal in Compliance-Trestle

Vulnerability report for CVE-2026-57171, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-26

Last updated on: 2026-08-26

Assigner: GitHub, Inc.

Description

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, the catalog-generate, profile-generate, and ssp-generate author commands write generated Markdown to an attacker-influenced output path without path-traversal validation, allowing arbitrary file write outside the Trestle workspace. These commands join the user-supplied output argument onto the Trestle root and write to the result, but guard it only with an is_directory_name_allowed() task-name-collision check rather than the PathSecurityValidator.validate_local_path() guard used by the jinja command, so an absolute path or one containing traversal sequences escapes the workspace and writes files under an attacker-chosen location as the invoking process owner. The security boundary is crossed when a trusted CI job, shared service, or wrapper derives the output argument from repository-controlled, tenant-controlled, or otherwise untrusted data while expecting output to stay inside the workspace. When --force-overwrite is used, the selected output directory is first recursively deleted, extending the primitive to destruction of an attacker-chosen directory tree and enabling indirect code execution by overwriting files a pipeline later runs. This issue is fixed in versions 3.12.4 and 4.1.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-26
Last Modified
2026-08-26
Generated
2026-08-26
AI Q&A
2026-08-26
EPSS Evaluated
N/A
NVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
trestle compliance-trestle to 4.0.3 (inc)
trestle compliance-trestle 3.12.4
trestle compliance-trestle 4.1.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in Compliance-trestle (Trestle) versions before 3.12.4 and 4.0.0 through 4.0.3 allows arbitrary file writes outside the Trestle workspace due to missing path-traversal validation in catalog-generate, profile-generate, and ssp-generate author commands. Attackers can exploit this to write files to attacker-chosen locations by supplying absolute paths or traversal sequences in the output argument.

Detection Guidance

Check Trestle version with pip show trestle. If version is before 3.12.4 or between 4.0.0-4.0.3, the system is vulnerable. Review CI/CD pipelines or scripts using catalog-generate, profile-generate, or ssp-generate commands for untrusted input in output paths.

Impact Analysis

This vulnerability can lead to file corruption, data loss, or unauthorized file creation on your system. If --force-overwrite is used, it can recursively delete directories and overwrite critical files, potentially enabling code execution by manipulating files used in later pipeline steps.

Mitigation Strategies

Upgrade Trestle to version 3.12.4 or 4.1.0 or later. Avoid using --force-overwrite with untrusted output paths. Validate all output paths in scripts to ensure they stay within the workspace. Review and restrict permissions of the Trestle process owner.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-57171. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart