CVE-2026-71492 is a vulnerability in the Banks application that generates meaningful LLM prompts using a simple template language. The vulnerability exists in the DirectoryPromptRegistry.set() function, which interpolates attacker-controlled Prompt.name and Prompt.version values into a Path without canonicalization or containment validation. This allows an attacker to write Prompt.raw bytes to attacker-ch [truncated]
Banks generates meaningful LLM prompts using a simple template language. In versions prior to 2.4.3, banks parses Tool JSON objects from the rendered body of {% completion %} blocks and later resolves their import_path field through importlib.import_module(...) + getattr(...) to obtain the callable that handles a tool call. There is no allowlist or sanitization on import_path, so any importable Python att [truncated]
## Summary A Server-Side Template Injection (SSTI) vulnerability in the Banks LLM prompt templating library (versions prior to 2.4.2) allows remote code execution when user-supplied strings are passed as template arguments to the `Prompt()` constructor. The root cause is the use of an unsandboxed `jinja2.Environment()` for rendering prompt templates. ## Technical Details Banks is a Python library that gen [truncated]