CVE-2026-61536Disclosure

LOWCVSS 7.5 · HIGH

Signal is active with 1 mentions in latest observed window

Immediate actions

  • Patch affected systems immediately

Recommended action window: Monitor and triage in normal cycle

NVD 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.

0.5/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-94CWE-470

Priority

LOW

Exploitation

NONE

PoC

NONE

Patch

AVAILABLE

Momentum

NONE

Threat summary

  • Patch or workaround signal is available
  • 1 mentions across 1 observed day

What's happening

  • Patch or workaround mentioned in 1 signal
  • Technical details provided in 1 signal
  • Disclosure: 1 classified signal
  • 1 total mentions across 1 day

Deep dive

Activity timeline1 mentions / 1d
00111Mentions · 2026-07-31: 1Patch / Workaround · 2026-07-31: 1Technical Details · 2026-07-31: 107-31
Signal classification1 categories
Disclosure
1100.0%
Full discourse1 post
  • Upwind Security MDR@UpwindMDR
    Disclosure

    🚨High - Banks Tool import_path Arbitrary Import RCE (CVE-2026-61536) Banks resolves Tool JSON import_path via importlib.import_module + getattr with no allowlist/sanitization; an attacker can steer the LLM to emit a tool call importing/execing arbitrary attributes (e.g., os.system), leading to RCE in the host process. Not mitigated by the 2.4.2 Jinja sandbox change. 👉Affected: banks < 2.4.3 | Upgrade to 2.4.3

    Post summary

    A high‑severity CVE‑2026‑61536 causes arbitrary import RCE in banks before version 2.4.3, with mitigation via upgrading to 2.4.3.

    0000082
    275 followersView on X

Explore more