GitHub Advisoryadvisory · PyPI

GHSA-w76h-q7c6-jpjp compliance-trestle Vulnerable to SSRF in Remote Fetching Subsystem

MEDIUM Published 2026-05-28 Modified 2026-05-28 Official page ↗
Aliases
CVE-2026-46380
Ecosystem
PyPI
Packages
compliance-trestle
Severity
Moderate
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
Weaknesses
CWE-918
Reviewed
2026-05-28

Affected packages

• PyPI compliance-trestle: >= 4.0.0, < 4.0.3 → fixed in 4.0.3 • PyPI compliance-trestle: < 3.12.2 → fixed in 3.12.2

Description

A source code audit led to the discovery of three significant security vulnerabilities in the trestle/core/remote/cache.py module. Finding 1 (Critical): SSRF (CWE-918) The HTTPSFetcher._do_fetch() method passes a user-supplied URL directly to requests.get() without validation. This allows an attacker to perform Server-Side Request Forgery, targeting internal services or cloud metadata endpoints (e.g., 169.254.169.254). Per rule 4.2.11 of the CVE CNA rules Finding 1 will be addressed in this advisory, while findings 2 & 3 will be addressed in separate advisories: --- Multiple Path Traversal Vulnerabilities in Remote Fetching Subsystem Finding 2 & 3 (High/Medium): Path Traversal (CWE-22) The caching logic for HTTPSFetcher and LocalFetcher fails to sanitize URI paths, allowing for arbitrary file reads via file:// or writing cached files outside the intended directory. Impact: > These vulnerabilities can be chained to exfiltrate sensitive cloud credentials or compromise CI/CD environments. Reproduction: > Please see the attached poc_ssrf_and_path_traversal.py and terminal_output.txt. 13 exploit vectors have been verified locally. compliance-trestle_audit_2026-03-30.pdf poc_ssrf_and_path_traversal.py terminal_output.txt

Related

Alias · CVE (1)

  • CVE-2026-46380 compliance-trestle is a tooling platform for managing compliance as code. vulnerability

Weakness · CWE (1)

  • CWE-918 Server-Side Request Forgery weakness

References