CVE-2026-22738

Spring · Spring AI

Spring AI versions prior to 1.0.5 and 1.1.4 are vulnerable to SpEL injection in SimpleVectorStore when user-supplied input is used as a filter expression key, leading to remote code execution.

Executive summary

Spring AI applications utilizing SimpleVectorStore are vulnerable to critical remote code execution if they allow user-controlled input to define filter expression keys.

Vulnerability

The vulnerability is a Spring Expression Language (SpEL) injection. When an application uses SimpleVectorStore and passes unvalidated user input as a key in a filter expression, a remote attacker can inject malicious SpEL expressions that are evaluated by the server, resulting in arbitrary code execution.

Business impact

Exploitation of this vulnerability allows for unauthenticated remote code execution (RCE) depending on how the application exposes its search or filtering functionality. With a CVSS score of 9.8, the risk involves complete system takeover, data theft, and potential use of the server for further internal network attacks.

Remediation

Immediate Action: Update Spring AI to version 1.0.5, 1.1.4, or later. Ensure that no user-supplied data is directly used as a key in filter expressions.

Proactive Monitoring: Monitor for application errors related to SpEL parsing and audit code for any dynamic expression building using external inputs.

Compensating Controls: Implement strict input validation or use an allowlist for filter keys to prevent the injection of special characters used in SpEL expressions.

Exploitation status

Public Exploit Available: false

Analyst recommendation

SpEL injection is a well-known and highly dangerous vulnerability class. Developers using Spring AI must update their dependencies immediately and review their implementation of SimpleVectorStore to ensure secure input handling practices are followed.