CVE-2026-47851 Unbounded recursion over attacker-controlled PDF outline tree in Spring AI PDF Document Reader
An attacker can cause a denial of service via stack overflow by providing a maliciously crafted PDF with a deeply nested outline tree to Spring AI.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-47851?
CVE-2026-47851 is a high-severity denial of service vulnerability in Spring AI, published on 26 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Analyzing a PDF with a deeply nested or cyclic table of contents can cause a StackOverflowError in the ingestion thread. Spring AI 2.0.0 Spring AI 1.1.0 - 1.1.8 Spring AI 1.0.0 - 1.0.9
Weakness: CWE-674
Which versions are affected by CVE-2026-47851?
It affects 1 product.
Products include Vmware Spring Ai.
How do I fix CVE-2026-47851?
No fix has been published for CVE-2026-47851 yet. Limit exposure of the affected software until one is available.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-47851 being exploited?
There is no known exploitation of CVE-2026-47851 in the wild and no public exploit code.
Other vulnerabilities in Spring AI
- CVE-2026-22738 SpEL Injection via Unescaped Filter Key in SimpleVectorStore Leads to Remote Code Execution
- CVE-2026-40978 Spring AI has SQL Injection in CosmosDBVectorStore.doDelete()
- CVE-2026-22730 CVE-2026-22730: SQL Injection in Spring AI MariaDBFilterExpressionConverter
- CVE-2026-47835 Spring AI vector store metadata filtering to handle special characters in Elasticsearch, OpenSearch, and GemFire Vector Stores
- CVE-2026-41705 Spring AI's MilvusVectorStore#doDelete(List) implementation is vulnerable to filter-expression injection via unsanitized document IDs
Sources
Also known as GHSA-3934-8pqh-qq29.