{"id":"CVE-2026-22744","aliases":["EUVD-2026-16541","GHSA-44f4-gvwj-6qg3"],"status":"published","title":"Spring AI Redis Store has TAG Field Query Injection Through Improper Neutralization of Special Characters","description":"In RedisFilterExpressionConverter of spring-ai-redis-store, when a user-controlled string is passed as a filter value for a TAG field, stringValue() inserts the value directly into the @field:{VALUE} RediSearch TAG block without escaping characters.This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00255,"percentile":0.17185,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-74","CWE-943"],"published":"2026-03-27T05:38:59Z","modified":"2026-10-28T02:30:42Z","fixes":[{"ecosystem":"Maven","package":"org.springframework.ai:spring-ai-redis-store","fixed_in":["1.0.5","1.1.4"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.ai:spring-ai-redis-store","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.0-M5"},{"fixed":"1.0.5"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.ai:spring-ai-redis-store","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.1.0-M1"},{"fixed":"1.1.4"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.ai:spring-ai-redis-store","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.0-M5"},{"fixed":"1.0.5"}]}],"versions":["1.0.0","1.0.0-M5","1.0.0-M6","1.0.0-M7","1.0.0-M8","1.0.0-RC1","1.0.1","1.0.2","1.0.3","1.0.4"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.ai:spring-ai-redis-store","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.1.0-M1"},{"fixed":"1.1.4"}]}],"versions":["1.1.0","1.1.0-M1","1.1.0-M2","1.1.0-M3","1.1.0-M4","1.1.0-RC1","1.1.1","1.1.2","1.1.3"]}],"products":[{"vendor":"spring","product":"spring ai"},{"vendor":"vmware","product":"spring ai"},{"vendor":"vmware","product":"spring_ai"}],"references":[{"url":"https://spring.io/security/cve-2026-22744","tags":["Vendor Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-22744","tags":["advisory"]},{"url":"https://github.com/spring-projects/spring-ai/commit/707e990c9152aabb9c9226053725efa2ada72223","tags":["web"]},{"url":"https://github.com/spring-projects/spring-ai/releases/tag/v1.0.5","tags":["web"]},{"url":"https://github.com/spring-projects/spring-ai/releases/tag/v1.1.4","tags":["web"]},{"url":"https://github.com/advisories/GHSA-44f4-gvwj-6qg3"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22744.json","tags":["advisory"]},{"url":"https://github.com/spring-projects/spring-ai","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-22744","description":"In RedisFilterExpressionConverter of spring-ai-redis-store, when a user-controlled string is passed as a filter value for a TAG field, stringValue() inserts the value directly into the @field:{VALUE} RediSearch TAG block without escaping characters.This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.","status":"published","published":"2026-03-27T05:38:59.633Z","modified":"2026-06-02T16:05:50.935Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-74"],"updated_at":"2026-11-02T13:39:05.585774Z"}],"euvd":[{"id":"EUVD-2026-16541","description":"In RedisFilterExpressionConverter of spring-ai-redis-store, when a user-controlled string is passed as a filter value for a TAG field, stringValue() inserts the value directly into the @field:{VALUE} RediSearch TAG block without escaping characters.This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.","status":"published","published":"2026-03-27T05:38:59Z","modified":"2026-06-02T16:05:50Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T18:20:55.651138Z"}],"ghsa":[{"id":"GHSA-44f4-gvwj-6qg3","title":"Spring AI Redis Store has TAG Field Query Injection Through Improper Neutralization of Special Characters","description":"In RedisFilterExpressionConverter of spring-ai-redis-store, when a user-controlled string is passed as a filter value for a TAG field, stringValue() inserts the value directly into the @field:{VALUE} RediSearch TAG block without escaping characters. This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.","status":"published","published":"2026-03-27T06:31:43Z","modified":"2026-03-29T15:36:29Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-74","CWE-943"],"updated_at":"2026-11-02T14:39:44.97342Z"}],"nvd":[{"id":"CVE-2026-22744","description":"In RedisFilterExpressionConverter of spring-ai-redis-store, when a user-controlled string is passed as a filter value for a TAG field, stringValue() inserts the value directly into the @field:{VALUE} RediSearch TAG block without escaping characters.This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.","status":"published","published":"2026-03-27T06:16:38.12Z","modified":"2026-10-26T21:10:00.17Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-74"],"updated_at":"2026-11-02T14:12:11.678711Z"}],"osv":[{"id":"CVE-2026-22744","description":"In RedisFilterExpressionConverter of spring-ai-redis-store, when a user-controlled string is passed as a filter value for a TAG field, stringValue() inserts the value directly into the @field:{VALUE} RediSearch TAG block without escaping characters.This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.","status":"published","published":"2026-03-27T05:38:59.633Z","modified":"2026-10-28T02:30:42.803923844Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:58.42038Z"},{"id":"GHSA-44f4-gvwj-6qg3","title":"Spring AI Redis Store has TAG Field Query Injection Through Improper Neutralization of Special Characters","description":"In RedisFilterExpressionConverter of spring-ai-redis-store, when a user-controlled string is passed as a filter value for a TAG field, stringValue() inserts the value directly into the @field:{VALUE} RediSearch TAG block without escaping characters. This issue affects Spring AI: from 1.0.0 before 1.0.5, from 1.1.0 before 1.1.4.","status":"published","published":"2026-03-27T06:31:43Z","modified":"2026-03-29T15:56:27.499003Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-74","CWE-943"],"updated_at":"2026-11-02T15:46:36.434231Z"}]}}
