CVE-2024-12910: llama-index: DoS via infinite recursion in web reader
GHSA-jvpf-xf32-2w4q MEDIUM PoC AVAILABLE CISA: TRACK*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 |
Do you use llama-index? You're affected.
Severity & Risk
Attack Surface
Recommended Action
6 steps-
Patch: upgrade llama-index to >= 0.12.9 immediately.
-
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).
-
Apply recursion depth limits or timeouts at the crawler/reader invocation layer as defense-in-depth.
-
Audit all code paths that pass external or user-supplied URLs to KnowledgeBaseWebReader.
-
Detection: monitor for runaway CPU/memory usage in LLM pipeline workers; stack overflow exceptions or OOM kills in Python processes are indicators.
-
In containerized environments, enforce memory and CPU limits to contain blast radius.
CISA SSVC Assessment
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
Classification
Compliance Impact
This CVE is relevant to:
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.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H References
- github.com/advisories/GHSA-jvpf-xf32-2w4q
- github.com/pypa/advisory-database/tree/main/vulns/llama-index/PYSEC-2025-11.yaml
- github.com/run-llama/llama_index/commit/159ce485a1168100bb219dc1b93133f1121579d9
- huntr.com/bounties/27883f22-35ff-49df-aaa5-05031c7d6ad8
- nvd.nist.gov/vuln/detail/CVE-2024-12910
- github.com/Cr0nu3/Cr0nu3 Exploit
Timeline
Related Vulnerabilities
CVE-2024-12909 10.0 llama-index finchat: SQL injection enables RCE
Same package: llama-index CVE-2025-1793 9.8 llama_index: SQL injection in vector store integrations
Same package: llama-index CVE-2024-11958 9.8 llama-index DuckDB retriever: SQLi enables RCE
Same package: llama-index CVE-2025-1753 7.8 llama-index-cli: OS command injection enables RCE
Same package: llama-index CVE-2025-3225 7.5 llama-index Papers Loader: XML expansion DoS
Same package: llama-index
AI Threat Alert