Read the docs

Banks parses untrusted prompt input as privileged chat messages

Priority HIGH 68CWE-20Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
Low · Low · None
Fix status
Partial Red Hat: 4 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

Banks before 2.5.0 parses every line of rendered prompt template output as ChatMessage JSON through Prompt.chat_messages(). The flaw is improper input validation (CWE-20) because ChatMessage.role accepts arbitrary strings. An unauthenticated remote attacker who can supply data rendered into a prompt can inject JSON that becomes a system, assistant, or tool message when the application sends the messages to an LLM provider, overriding application instructions.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

Banks generates meaningful LLM prompts using a simple template language. Prior to 2.5.0, Banks Prompt.chat_messages() attempts to parse every line of rendered template output as ChatMessage JSON. When an application renders untrusted data and passes the returned ChatMessage objects to an LLM provider, attacker-controlled JSON can cross the prompt boundary and become a system, assistant, or tool message because ChatMessage.role accepts arbitrary strings. This can override application instructions, alter the intended prompt structure, or confuse downstream tool and message handling. This issue is fixed in version 2.5.0.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00335 27th percentileScored 2026-11-07
Fix Partial banks (masci): 2.5.0banks (PyPI): 2.5.0Red Hat: 4 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
mascibanksbefore 2.5.02.5.0Patch availableCNA
—banks (PyPI)before 2.5.02.5.0Patch availableGHSA-hmq2-7hp6-7crh
  • banks Vendormasci Affected before 2.5.0 Fixed in 2.5.0 Patch available CNA
  • banks (PyPI) Vendor— Affected before 2.5.0 Fixed in 2.5.0 Patch available GHSA-hmq2-7hp6-7crh

Remediation

Upgrade the banks PyPI package to version 2.5.0. Red Hat lists Exploit Intelligence and Red Hat Ansible Automation Platform 2 as affected with no fix planned, and Lightspeed Core and OpenShift Lightspeed as affected with no fix available.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA banks (masci) Fixed in 2.5.0
  • Fix · GHSA-hmq2-7hp6-7crh banks (PyPI) Fixed in 2.5.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Exploit IntelligenceAffectedNo fix planned: Out of support scope
Lightspeed CoreAffectedNo fix yet: Fix deferred
OpenShift LightspeedAffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix planned: Out of support scope
Not affected: 1 product
  • OpenShift Lightspeed

Timeline

  1. 2026-10-09 Threatist record created from CVE-2026-107717
  2. 2026-10-09 Alias added: GHSA-hmq2-7hp6-7crh
  3. 2026-10-10 Priority changed: MEDIUM → LOW
  4. 2026-10-13 CISA SSVC decision points changed
  5. 2026-10-13 Priority changed: LOW → HIGH
  6. 2026-10-15 Affected versions changed · Red Hat
  7. 2026-10-15 CVSS score added · Red Hat

References

  • TI-2026-44773 Banks: Arbitrary File Read via Path Traversal in Media Filters (image/audio/video/document) CVSS 3.1HIGH 7.5
  • TI-2026-44099 Banks: Unsafe importlib.import_module of attacker-controlled Tool.import_path in CompletionExtension allows RCE CVSS 3.1HIGH 7.5
  • TI-2026-32188 Banks: Critical Remote Code Execution (RCE) via Jinja2 SSTI CVSS 3.1HIGH 7.5
  • TI-2026-50100 Banks: Path traversal in `DirectoryPromptRegistry.set()` allows arbitrary file write outside the registry root CVSS 4.0MEDIUM 6.0
  • TI-2026-69682 Symlink traversal in Banks DirectoryPromptRegistry CVSS 4.0HIGH 7.3

Sources