CVE-2026-62663
Deferred Deferred - Pending Action

Path Traversal in Banks Template Engine

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

Publication date: 2026-07-30

Last updated on: 2026-07-30

Assigner: GitHub, Inc.

Description

Banks generates meaningful LLM prompts using a simple template language. In versions prior to 2.4.4, all four media filters (image, audio, video, document) in banks accept untrusted user input as file paths via Path(value) and pass them directly to open(file_path, "rb") without any path sanitization, canonicalization, or directory restriction. An attacker who controls template variables passed to a banks Prompt can use path traversal (../) to read arbitrary files accessible to the Python process—including .env files, SSH keys, cloud credentials, source code, /etc/passwd, and /etc/shadow—with the content returned base64-encoded in the rendered prompt output, making exfiltration trivial. This is particularly dangerous for applications that use banks to process user-provided template variables before sending prompts to an LLM. This issue has been fixed in version 2.4.4.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-30
Last Modified
2026-07-30
Generated
2026-07-31
AI Q&A
2026-07-31
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
banks banks to 2.4.4 (exc)

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 is a path traversal flaw in the Banks library before version 2.4.4. It allows attackers to read arbitrary files on the system by injecting path traversal sequences (../) into template variables. The library passes user input directly to file operations without sanitization, enabling access to sensitive files like credentials, source code, or system files.

Detection Guidance

Check for outdated banks versions prior to 2.4.4. Inspect template variables for untrusted file paths. Monitor prompt outputs for base64-encoded content that may indicate file exfiltration.

Impact Analysis

If you use Banks to process user-provided templates before sending prompts to an LLM, an attacker could exploit this to steal sensitive files such as .env files, SSH keys, or cloud credentials. The stolen data is returned base64-encoded in the prompt output, making it easy to exfiltrate.

Compliance Impact

This vulnerability could lead to unauthorized access to personal or sensitive data, violating GDPR and HIPAA requirements for data protection. Exposure of credentials or PII may result in regulatory fines or legal consequences due to non-compliance with data security standards.

Mitigation Strategies

Upgrade to banks version 2.4.4 or later. Sanitize all user-provided template variables. Restrict file access permissions for the Python process. Validate and canonicalize all file paths before processing.

Chat Assistant

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

EPSS Chart