CVE-2026-22738 SpEL Injection via Unescaped Filter Key in SimpleVectorStore Leads to Remote Code Execution
Attackers can execute arbitrary code via SpEL injection in SimpleVectorStore if user input is used as a filter key.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-22738?
CVE-2026-22738 is a critical code injection vulnerability in Spring AI, published on 27 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In Spring AI, a SpEL injection vulnerability exists in SimpleVectorStore when a user-supplied value is used as a filter expression key. A malicious actor could exploit this to execute arbitrary code. Only applications that use SimpleVectorStore and pass user-supplied input as a filter expression key are affected. This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.
Which versions are affected by CVE-2026-22738?
4 open source packages ship an affected version, including org.springframework.ai:spring-ai-vector-store. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
org.springframework.ai:spring-ai-vector-store Maven | From 1.0.0 | 1.0.5 |
org.springframework.ai:spring-ai-vector-store Maven | From 1.0.0 | 1.0.5 |
org.springframework.ai:spring-ai-vector-store Maven | From 1.1.0-M1 | 1.1.4 |
org.springframework.ai:spring-ai-vector-store Maven | From 1.1.0-M1 | 1.1.4 |
Products include Vmware Spring Ai.
How do I fix CVE-2026-22738?
Upgrade org.springframework.ai:spring-ai-vector-store to a fixed version for your release line: 1.0.5 or 1.1.4.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-22738 being exploited?
There is no known exploitation of CVE-2026-22738 in the wild and no public exploit code.
Public exploit code: 2 proofs of concept on GitHub.
Other vulnerabilities in Spring AI
- 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
- CVE-2026-40967 Spring AI has a VectorStore FilterExpression Converter injection
Sources
Also known as GHSA-fvh3-672c-7p6c.