CVE-2026-22744Spring AI项目的spring-ai-redis-store组件存在严重的安全漏洞。当应用程序使用Redis作为向量存储,并将用户控制的字符串作为TAG字段的过滤值时,`RedisFilterExpressionConverter`组件的`stringValue()`方法未能正确处理输入,直接将未转义的字符插入到RediSearch查询的`@field:{VALUE}`块中。这导致攻击者可以通过构造特殊的恶意字符串来篡改查询逻辑。该漏洞无需认证即可通过网络利用,主要威胁数据的机密性,可能导致敏感信息泄露。
该漏洞的核心在于Spring AI在构建RediSearch查询语句时缺乏必要的输入验证和转义机制。RediSearch使用特定的语法(如`@field:{value}`)来处理TAG字段,其中`|`等字符具有特殊的逻辑含义(表示OR逻辑)。在受影响的版本中,`RedisFilterExpressionConverter`将用户输入直接拼接到查询字符串中。例如,攻击者若输入`tag1|tag2`,原本意图是查找名为`tag1|tag2`的标签,但实际生成的查询变为查找`tag1`或`tag2`。这使得攻击者能够绕过原本的访问控制逻辑,检索到本无权访问的数据。由于CVSS评分为7.5,属于高危漏洞,且利用条件无门槛(无需认证、无需用户交互),建议尽快修复。