Spring spring

Spring中文网站 > Spring 框架安全 > CVE-2026-40967:VectorStore FilterExpressionConverter 注入漏洞
CVE-2026-40967:VectorStore FilterExpressionConverter 注入漏洞
发布时间:2026/05/14 11:29:09

CVE-2026-40967:VectorStore FilterExpressionConverter 注入漏洞

 

高危 | 2026年4月27日 | CVE-2026-40967

 

 

描述

 

  在 Spring AI 中,多个 FilterExpressionConverter 实现会接收过滤表达式对象,并将其转换为特定向量存储所使用的查询语言。在部分情况下,过滤表达式中的键和值没有被正确转义,可能导致查询语句被篡改。

 

  该问题主要影响使用 VectorStore 实现,并将用户提供的输入作为 filterExpression 传入的应用。攻击者可能通过构造特殊过滤表达式,改变原本预期的查询条件,从而访问不应返回的数据,或影响向量检索结果的范围。

 

  在 AI 应用场景中,向量存储通常用于知识库检索、聊天记忆、文档问答、企业知识库和检索增强生成流程。如果过滤条件被注入或绕过,可能导致租户隔离失效、非授权数据被检索、敏感内容被纳入回答上下文等风险。尤其是在多用户、多部门或多租户系统中,该问题需要优先关注。

 

受影响的 Spring 产品和版本

 

  受影响产品为 Spring AI,涉及以下版本:

  ● 1.0.0 - 1.0.x

  ● 1.1.0 - 1.1.x

 

缓解措施

 

  受影响版本的用户应升级到对应的修复版本。升级后,相关过滤表达式转换逻辑会得到修正,降低用户输入影响向量存储查询语句的风险。

 

 

  无需采取额外缓解措施。建议受影响用户尽快升级至修复版本,并在升级后对向量检索、过滤条件、权限边界和多租户隔离场景进行回归验证。

 

处理建议

 

  建议先确认应用是否使用 Spring AI 的 VectorStore 能力,并检查是否允许用户输入直接进入 filterExpression。如果过滤条件来自前端参数、接口请求、搜索条件、租户标识或外部系统传值,应重点排查是否存在未校验、未转义或可拼接的表达式内容。

 

  对于多租户或权限分级场景,不建议仅依赖前端传入的过滤条件控制数据访问范围。租户 ID、用户 ID、知识库范围、文档权限等关键条件应由服务端生成和绑定,避免被客户端请求覆盖或篡改。

 

  同时,应检查历史请求日志和检索日志,关注异常过滤条件、特殊字符、明显不符合业务规则的查询表达式,以及短时间内大量探测式查询行为。若发现可疑访问,应结合向量存储访问记录评估是否存在数据越权检索风险。

180 1563 6924