事件经过
Spring AI 1.0.0 及更高版本中的 spring-ai-elasticsearch-store、spring-ai-opensearch-store 和 spring-ai-gemfire-store 组件在将元数据过滤表达式传递给底层向量数据库查询引擎之前不能正确转义或清理特殊字符。这允许注入任意查询逻辑,类似于 SQL 注入但针对向量搜索后端。由 VMware/Broadcom 的 Spring 安全团队于 2026 年 6 月 15 日以 CVSS 8.6 高危发布。
影响分析
向量存储是 RAG 驱动的 LLM 应用程序的权威知识库。针对向量存储层的注入攻击允许攻击者窃取所有嵌入文档(包括专有业务数据、PII 或凭证)、破坏检索结果以操纵 LLM 响应(大规模间接提示注入)或通过强制执行昂贵查询来拒绝服务。由于 Spring AI 是构建企业 RAG 系统的主导 Java 生态路径,这影响了大量生产 AI 部署。
攻击途径
攻击者在传递给受影响的 Spring AI 向量存储组件的元数据过滤参数中提供精心设计的特殊字符。这些字符会突破预期的查询上下文并强制执行针对 Elasticsearch、OpenSearch 或 GemFire VectorDB 的任意后端查询——启用数据窃取、跨租户数据访问或对 LLM 使用的 RAG 知识库的操纵。
受影响系统
Spring AI 1.0.0 至 1.0.x(spring-ai-elasticsearch-store、spring-ai-opensearch-store、spring-ai-gemfire-store)
缓解措施
应用 Spring AI 补丁,该补丁对受影响向量存储模块中的元数据过滤输入中的特殊字符进行清理。请参阅官方咨询:https://spring.io/security/cve-2026-47835