CVE-2026-82579
Received Received - Intake

Infinite Loop in ash_ai Tool Loop

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

Publication date: 2026-08-31

Last updated on: 2026-08-31

Assigner: EEF

Description

Loop with Unreachable Exit Condition (Infinite Loop) vulnerability in ash-project ash_ai allows an attacker who can influence a model's output to hang the tool loop and drive unbounded, repeated model requests. AshAi.ToolLoop classifies a model response of :tool_calls, then filters the calls through normalize_tool_calls/2 and unprocessed_tool_calls/2. Both can empty the list: a call missing a valid name, or one reusing a tool_call_id that already has a result in history, is dropped. With an empty list the loop appended nothing and recursed with a byte-identical message list, so the conversation never advanced and the same request was re-sent every iteration. Under the supported max_iterations: :infinity this never terminated; otherwise it exhausted the full budget. Prompt-injected content can make the model re-emit a spent tool_call_id. The fix treats an empty post-filter list as terminal. This issue affects ash_ai: from 0.6.0 before 1.0.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

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

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
ash-project ash_ai to 1.0.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-835 The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is an infinite loop vulnerability in the ash_ai tool's AshAi.ToolLoop class. When a model's response contains tool calls that are either invalid or already processed, the loop fails to advance and keeps resending the same request. This happens because filters remove all tool calls, but the loop doesn't recognize this as a terminal state. Attackers can exploit this by making the model re-emit spent tool_call_id values, causing denial of service and repeated API requests.

Detection Guidance

Detecting this vulnerability requires checking if your AshAi.ToolLoop is running with untrusted input that could trigger infinite loops. Monitor for processes consuming excessive CPU or memory, repeated identical API requests, or stalled conversations. Check logs for tool calls missing valid names or reusing tool_call_id values. Verify if max_iterations is set to infinity in your configuration.

Impact Analysis

This vulnerability can lead to denial of service by hanging the tool loop, causing repeated model requests and consuming API credits. Systems using ash_ai with untrusted input are at risk of process hangs and uncontrolled resource usage, especially when max_iterations is set to infinity. It may also result in financial costs from repeated API calls.

Compliance Impact

This vulnerability could lead to denial of service and resource exhaustion, which may impact availability of systems handling sensitive data. For GDPR, this could affect the right to access or rectify data if services become unavailable. For HIPAA, it might disrupt access to protected health information systems. The infinite loop could cause prolonged downtime, potentially violating compliance requirements for timely data access and system reliability.

Mitigation Strategies

Upgrade ash_ai to version 1.0.0 or later to apply the fix. If upgrading is not possible, set max_iterations to a finite value to prevent infinite loops. Validate and sanitize all model inputs to prevent prompt injection attacks. Monitor tool loops for empty tool call lists or repeated tool_call_id values.

Chat Assistant

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

EPSS Chart