CVE-2026-61536
Last modified
CVE-2026-61536 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. 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. EPSS estimates a 0.30% chance of exploitation in the next 30 days.
Description
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 attribute (e.g. os.system, subprocess.getoutput) can be selected. When the LLM emits a tool_calls entry whose function.name matches the attacker-supplied tool name, the resolved callable is invoked with kwargs decoded from tool_call.function.arguments, yielding arbitrary code execution in the banks-hosting process. This is distinct from GHSA-gphh-9q3h-jgpp / CVE-2026-44209. That advisory was fixed in 2.4.2 by switching src/banks/env.py from Environment to SandboxedEnvironment. The fix does not touch src/banks/extensions/completion.py, and the unsafe import + getattr chain still executes on 2.4.2. The malicious Tool JSON is plain text in the rendered template body — it requires no Jinja attribute access, so the sandbox is irrelevant. This issue has been fixed in version 2.4.3.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| masci | banks | < 2.4.3 |
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2026-61536?
How severe is CVE-2026-61536?
How do I fix CVE-2026-61536?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-61523WebsiteBaker CMS before 2.13.10 contains a code injection vu…7.2
- CVE-2026-61524WebsiteBaker CMS before 2.13.10 contains an unrestricted fil…7.2
- CVE-2026-61525Zammad is a web based open source helpdesk/customer support …8.8
- CVE-2026-61526AdonisJS HTTP Server is a package for handling HTTP requests…6.1
- CVE-2026-6153A vulnerability was identified in code-projects Vehicle Show…7.3
- CVE-2026-61534Yayson is a library for serializing and reading JSON API dat…9.1
- CVE-2026-61539Xinference is an inference API for running open-source, spee…10
- CVE-2026-6154A security flaw has been discovered in Totolink A7100RU 7.4c…9.8
- CVE-2026-61541Zapros, a Python HTTP client, prior to version 0.14.0 is vul…6.9
- CVE-2026-61544libp2p-rust is the official Rust language implementation of …8.2
- CVE-2026-61548Rsyslog is a rocket-fast system for log processing. From 7.5…8.1
- CVE-2026-61549Woodpecker is a CI/CD engine. From 1.0.0 until 3.16.0, pipel…9
Are you affected by CVE-2026-61536?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
