Skip to main content

Spring Ai CVE-2026-22729

| EUVDEUVD-2026-12795 HIGH
Improper Neutralization of Special Elements used in an Expression Language Statement (CWE-917)
2026-03-18 vmware GHSA-rp9g-qx29-88cp
8.6
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Spring AI application
  2. Delivery
    Craft malicious JSONPath injection in filter expression
  3. Exploit
    Inject arbitrary logic into FilterExpressionBuilder
  4. Execution
    Bypass metadata access controls
  5. Impact
    Access unauthorized documents in vector store

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Expression language sanitization
Exploitation Conditions

Authenticated user access to applications using Spring AI vector stores that extend AbstractFilterExpressionConverter for metadata filtering. Attacker crafts malicious filter expressions through FilterExpressionBuilder to inject JSONPath logic bypassing access controls. No user interaction required. Affects multi-tenant, role-based access control, or document-filtering deployments.

Impact

The CVSS 3.1 score of 8.6 indicates high severity with critical factors: network-accessible attack vector (AV:N), low attack complexity (AC:L), no privileges required (PR:N), no user interaction (UI:N), scope change (S:C), and high confidentiality impact (C:H). However, the description mentions authenticated users are needed, which conflicts with the PR:N rating and suggests the actual attack prerequisites may be higher than the vector indicates. The vulnerability specifically targets applications implementing multi-tenant isolation or role-based access controls using Spring AI vector stores, making it high-risk only for these specific deployment patterns rather than all Spring AI installations. Without EPSS data or KEV listing available in the provided intelligence, and with the vulnerability recently disclosed (2026), there is no evidence of active exploitation yet. The real-world risk is elevated for organizations using Spring AI for tenant isolation in SaaS applications or implementing metadata-based document filtering, as successful exploitation directly defeats security boundaries. For applications not using AbstractFilterExpressionConverter for access control purposes, the risk is significantly lower.

Exploit ScenarioDerived

An attacker authenticates to a multi-tenant SaaS application built with Spring AI that uses vector stores for document retrieval with metadata-based tenant isolation. The attacker crafts a document search request containing a malicious filter expression such as metadata[?(@.tenant_id"victim_tenant" || @.tenant_id"attacker_tenant")] which injects JSONPath logic to bypass the intended tenant_id filter. The application concatenates this unsanitized input into the JSONPath query, allowing the attacker to retrieve confidential documents belonging to other tenants that should be isolated, effectively breaking the multi-tenant security boundary and accessing unauthorized data across tenant boundaries.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 18, 2026

Spring AI's AbstractFilterExpressionConverter fails to properly escape user-controlled input in JSONPath queries, allowing authenticated attackers to inject arbitrary expressions and bypass access controls in vector store implementations. This impacts applications relying on the converter for multi-tenant isolation, role-based access, or metadata-based document filtering, enabling attackers to access unauthorized documents. No patch is currently available.

Earlier versions of this analysis (1)
v1 Mar 18, 2026 - 08:00 CVSS 8.6

A JSONPath injection vulnerability in Spring AI's AbstractFilterExpressionConverter allows authenticated users to bypass metadata-based access controls and access unauthorized documents through crafted filter expressions. VMware Spring AI versions 1.0.x prior to 1.0.4 and 1.1.x prior to 1.1.3 are affected. The vulnerability has a CVSS score of 8.6 with network-based attack vector and low complexity, enabling attackers to inject arbitrary JSONPath logic when user-controlled input is concatenated into queries without proper escaping, particularly impacting applications using vector stores for multi-tenant isolation or role-based access control.

RemediationAI

Upgrade VMware Spring AI to version 1.0.4 or later for the 1.0.x branch, or to version 1.1.3 or later for the 1.1.x branch as documented in the vendor advisory at https://spring.io/security/cve-2026-22729. Until patching is completed, implement compensating controls by validating and sanitizing all user-supplied input used in filter expressions before passing to FilterExpressionBuilder, specifically escaping or rejecting special JSONPath characters including double quotes, pipes (||), ampersands (&&), brackets, and other JSONPath operators. Organizations should also review their vector store implementations to ensure proper input validation is enforced at the application layer, consider implementing allowlists for permitted filter field names and values, and audit existing access control logic to verify it cannot be bypassed through query manipulation. For high-risk deployments, consider temporarily disabling user-controlled filter expressions in favor of server-side predetermined filters until patches can be applied.

Affected VersionsENISA

Spring AI 1.1.x <1.1.3
Spring AI 1.0.x <1.0.4

Affected Packages

maven org.springframework.ai:spring-ai-vector-store fix: 1.0.4, 1.1.3
euvd spring_ai fix: 1.0.4, 1.1.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Spring AI is VMware's framework for building AI-powered applications in Java, specifically working with vector databases and large language models. The vulnerability affects the AbstractFilterExpressionConverter component used in vector store implementations, where applications leverage JSONPath expressions to filter documents based on metadata attributes. The root cause is improper neutralization of special elements used in commands (similar to injection flaws), where user-supplied values containing special characters like double quotes, logical OR (||), and logical AND (&&) operators are concatenated directly into JSONPath queries without sanitization or parameterization. This allows attackers to break out of the intended query structure and inject arbitrary JSONPath logic that can alter query semantics, particularly bypassing filters designed to enforce tenant boundaries or access controls based on document metadata in vector search operations.

Know when Spring Ai gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 8.6 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
CVE Published
Mar 18, 2026 - 07:39 nvd
HIGH 8.6

DescriptionCVE.org

A JSONPath injection vulnerability in Spring AI's AbstractFilterExpressionConverter allows authenticated users to bypass metadata-based access controls through crafted filter expressions. User-controlled input passed to FilterExpressionBuilder is concatenated into JSONPath queries without proper escaping, enabling attackers to inject arbitrary JSONPath logic and access unauthorized documents.

This vulnerability affects applications using vector stores that extend AbstractFilterExpressionConverter for multi-tenant isolation, role-based access control, or document filtering based on metadata.

The vulnerability occurs when user-supplied values in filter expressions are not escaped before being inserted into JSONPath queries. Special characters like ", ||, and && are passed through unescaped, allowing injection of arbitrary JSONPath logic that can alter the intended query semantics.

Executive ViewAI

Why It Matters

A critical access control bypass vulnerability in Spring AI allows authenticated users to circumvent document access restrictions and retrieve unauthorized data through crafted filter expressions. Organizations using Spring AI vector stores for multi-tenant isolation or role-based access control face immediate risk of unauthorized data disclosure and potential compliance violations.

Business Impact: Severe
Compensating Controls

Implement strict input validation and escaping for all filter expression parameters; deploy Web Application Firewall (WAF) rules to detect and block JSONPath injection patterns (special characters: ", ||, &&); restrict Spring AI service access via network segmentation and firewall rules; disable vector store filtering features if not business-critical; enforce comprehensive audit logging of all filter queries and access attempts; apply principle of least privilege to database credentials used by Spring AI components; consider temporary disabling of user-facing features that leverage AbstractFilterExpressionConverter until patch availability.

Threat Intelligence Overview

EPSS Score
0.0%
Top 85% exploitable
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Related Vulnerabilities in Spring AI Filter Expression Injection

View all 2
CVE-2026-59318 CRITICAL
9.8 Aug 21

Incorrect authorization in Spring AI's tool-calling layer allows a tool that was never advertised to the current request

CVE-2026-22738 CRITICAL
9.8 Mar 27

Spring AI versions 1.0.0 through 1.0.4 and 1.1.0 through 1.1.3 allow unauthenticated remote code execution through Sprin

CVE-2026-40978 HIGH
8.8 Apr 28

SQL injection in Spring AI's CosmosDBVectorStore component (versions 1.0.0-1.0.5 and 1.1.0-1.1.4) enables authenticated

CVE-2026-40967 HIGH
8.6 Apr 28

Filter expression injection in Spring AI 1.0.0-1.0.5 and 1.1.0-1.1.4 allows remote unauthenticated attackers to manipula

CVE-2026-22742 HIGH
8.6 Mar 27

Server-Side Request Forgery in Spring AI Bedrock Converse module enables unauthenticated remote attackers to force the a

CVE-2026-41705 HIGH
8.6 May 09

Filter-expression injection in Spring AI's MilvusVectorStore allows remote unauthenticated attackers to manipulate vecto

CVE-2026-41713 HIGH
8.2 May 12

Conversation memory poisoning in VMware Spring AI allows remote unauthenticated attackers to inject malicious input that

CVE-2026-47835 HIGH
7.5 Jun 15

Query injection in the Spring AI vector-store modules - spring-ai-elasticsearch-store, spring-ai-opensearch-store and sp

CVE-2026-59279 HIGH
7.5 Aug 21

Unbounded session accumulation in Spring AI 2.0.0's MCP Streamable HTTP server transport enables remote unauthenticated

CVE-2026-47851 HIGH
7.5 Aug 26

Denial of service in Spring AI's PDF document ingestion crashes the processing thread when parsing a crafted PDF with a

CVE-2026-47852 HIGH
7.5 Aug 26

Predictable ONNX model cache path creation in Spring AI enables a local attacker on a shared multi-user host to pre-crea

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy