- CVE ID
- CVE-2026-40967
- CVE Description
- In Spring AI, various FilterExpressionConverter implementations accept a filter expression object and translate them to specific vector store query languages. In several cases, keys and values are not properly escaped, leading to the ability to alter the query.
Affected versions:
Spring AI: 1.0.0 - 1.0.5 (fixed in 1.0.6), 1.1.0 - 1.1.4 (fixed in 1.1.5)
- Published
- Apr 28, 2026
- CVSS Score & Severity
8.8High
- CVSS Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N
- EPSS Score
- 0.074%
- KEV Status
Not in KEV Catalog: No known exploits
- Vulnerable Methods
org/springframework/ai/vectorstore/CouchbaseAiSearchFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/ElasticsearchAiSearchFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/GemFireAiSearchFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/MilvusFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/MongoDBAtlasFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/PgVectorFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/RedisFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/SqlJsonPathFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/TypesenseFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/WeaviateFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/couchbase/CouchbaseAiSearchFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/elasticsearch/ElasticsearchAiSearchFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/filter/converter/PineconeFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/gemfire/GemFireAiSearchFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/mariadb/MariaDBFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVM
org/springframework/ai/vectorstore/milvus/MilvusFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/opensearch/OpenSearchAiSearchFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/oracle/SqlJsonPathFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/pgvector/PgVectorFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/redis/RedisFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/typesense/TypesenseFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
org/springframework/ai/vectorstore/weaviate/WeaviateFilterExpressionConverter.doKey(Lorg/springframework/ai/vectorstore/filter/Filter$Key;Ljava/lang/StringBuilder;)VJVMVulnerable params: 0
- Source
- National Vulnerability Database