CVE-2024-12910: llama-index: DoS via infinite recursion in web reader

GHSA-jvpf-xf32-2w4q MEDIUM PoC AVAILABLE CISA: TRACK*
Published March 20, 2025
CISO Take

LLM applications using llama-index's KnowledgeBaseWebReader to ingest web content are vulnerable to denial of service if an attacker can influence the URL passed to the reader. Patch to llama-index 0.12.9 immediately and audit any RAG pipelines that accept user-supplied or externally-sourced URLs for knowledge base ingestion. Exploitation requires high attack complexity (controlling the URL variable), so prioritize systems where that input path is user-facing or API-exposed.

Risk Assessment

Risk is moderate in typical deployments but elevated in multi-tenant RAG systems or applications that dynamically ingest URLs from user input. CVSS 5.9 Medium (AC:H) reflects that exploitation requires controlling the URL variable — a realistic condition in agent pipelines and knowledge base builders. EPSS 0.00271 indicates low current exploitation probability, but the simplicity of the trigger (root URL loop) makes it a low-effort attack once the input path is identified. Not in CISA KEV. Primary business impact is application availability, not data exfiltration.

Affected Systems

Package Ecosystem Vulnerable Range Patched
llama-index pip < 0.12.9 0.12.9
49.1K 229 dependents Pushed 8d ago 87% patched ~50d to patch Full package profile →

Do you use llama-index? You're affected.

Severity & Risk

CVSS 3.1
5.9 / 10
EPSS
0.4%
chance of exploitation in 30 days
Higher than 58% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Moderate
Exploitation Confidence
medium
CISA SSVC: Public PoC
Public PoC indexed (trickest/cve)
Composite signal derived from CISA KEV, CISA SSVC, EPSS, trickest/cve, and Nuclei templates.

Attack Surface

AV AC PR UI S C I A
AV Network
AC High
PR None
UI None
S Unchanged
C None
I None
A High

Recommended Action

6 steps
  1. Patch: upgrade llama-index to >= 0.12.9 immediately.

  2. Short-term workaround if patching is delayed: validate and sanitize URLs before passing to KnowledgeBaseWebReader — reject or normalize root-level URLs (e.g., reject URLs where path is '/' or empty).

  3. Apply recursion depth limits or timeouts at the crawler/reader invocation layer as defense-in-depth.

  4. Audit all code paths that pass external or user-supplied URLs to KnowledgeBaseWebReader.

  5. Detection: monitor for runaway CPU/memory usage in LLM pipeline workers; stack overflow exceptions or OOM kills in Python processes are indicators.

  6. In containerized environments, enforce memory and CPU limits to contain blast radius.

CISA SSVC Assessment

Decision Track*
Exploitation poc
Automatable No
Technical Impact partial

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

Classification

Compliance Impact

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.5 - AI system lifecycle — acquisition and supply chain A.9.3 - AI system availability and resilience
NIST AI RMF
MANAGE-2.2 - Mechanisms to sustain effectiveness of risk treatments
OWASP LLM Top 10
LLM04 - Model Denial of Service LLM05 - Supply Chain Vulnerabilities

Frequently Asked Questions

What is CVE-2024-12910?

LLM applications using llama-index's KnowledgeBaseWebReader to ingest web content are vulnerable to denial of service if an attacker can influence the URL passed to the reader. Patch to llama-index 0.12.9 immediately and audit any RAG pipelines that accept user-supplied or externally-sourced URLs for knowledge base ingestion. Exploitation requires high attack complexity (controlling the URL variable), so prioritize systems where that input path is user-facing or API-exposed.

Is CVE-2024-12910 actively exploited?

Proof-of-concept exploit code is publicly available for CVE-2024-12910, increasing the risk of exploitation.

How to fix CVE-2024-12910?

1. Patch: upgrade llama-index to >= 0.12.9 immediately. 2. Short-term workaround if patching is delayed: validate and sanitize URLs before passing to KnowledgeBaseWebReader — reject or normalize root-level URLs (e.g., reject URLs where path is '/' or empty). 3. Apply recursion depth limits or timeouts at the crawler/reader invocation layer as defense-in-depth. 4. Audit all code paths that pass external or user-supplied URLs to KnowledgeBaseWebReader. 5. Detection: monitor for runaway CPU/memory usage in LLM pipeline workers; stack overflow exceptions or OOM kills in Python processes are indicators. 6. In containerized environments, enforce memory and CPU limits to contain blast radius.

What systems are affected by CVE-2024-12910?

This vulnerability affects the following AI/ML architecture patterns: RAG pipelines, agent frameworks, knowledge base ingestion workflows, document loaders.

What is the CVSS score for CVE-2024-12910?

CVE-2024-12910 has a CVSS v3.1 base score of 5.9 (MEDIUM). The EPSS exploitation probability is 0.35%.

Technical Details

NVD Description

A vulnerability in the `KnowledgeBaseWebReader` class of the run-llama/llama_index repository, version latest, allows an attacker to cause a Denial of Service (DoS) by controlling a URL variable to contain the root URL. This leads to infinite recursive calls to the `get_article_urls` method, exhausting system resources and potentially crashing the application.

Exploitation Scenario

An adversary targeting a RAG-powered chatbot that allows users to specify a knowledge base URL submits the root domain (e.g., 'https://example.com/') as input. The application passes this URL to KnowledgeBaseWebReader, which enters an infinite recursive loop in get_article_urls attempting to enumerate all links. The worker process consumes all available memory and CPU until it crashes or is OOM-killed. In a multi-tenant SaaS environment, this takes down the knowledge ingestion service for all users. In an agentic pipeline where an LLM autonomously invokes the reader tool, prompt injection could be used to trigger the same condition indirectly by steering the agent to call the reader with a root URL.

CVSS Vector

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

Timeline

Published
March 20, 2025
Last Modified
October 15, 2025
First Seen
March 24, 2026

Related Vulnerabilities