{"id":"CVE-2026-41697","aliases":["CLSA-2026-1791381930","CLSA-2026-1791983363","CLSA-2026-1792429184","CLSA-2026-1793194299","EUVD-2026-35893","GHSA-8r2h-xh92-gq57"],"status":"published","title":"Spring Data Relational Parameter not Escaped for Query By Example LIKE Pattern","description":"Spring Data Relational does not properly escape binding values of externally-controlled input when using StringMatcher (STARTING, ENDING, or CONTAINING) in Query By Example (QBE). An attacker can supply wildcard characters to perform boolean-based blind data inference.\n\nAffected versions:\nSpring Data Relational/JDBC/R2DBC 4.0.0 through 4.0.5; 3.5.0 through 3.5.11; 3.4.0 through 3.4.14; 3.3.0 through 3.3.16; 3.2.0 through 3.2.15; 3.1.0 through 3.1.14; 3.0.0 through 3.0.15; 2.4.0 through 2.4.19.","severity":{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00227,"percentile":0.13601,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-943"],"published":"2026-06-09T23:47:42Z","modified":"2026-10-30T13:30:08Z","fixes":[{"ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","fixed_in":["4.0.6","3.5.12"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-jdbc","fixed_in":["3.3.13-tuxcare.6","3.4.13-tuxcare.4","3.3.12-tuxcare.3","2.4.18-tuxcare.6"],"sources":["osv"]},{"ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-r2dbc","fixed_in":["3.3.13-tuxcare.6","3.4.13-tuxcare.4","3.3.12-tuxcare.3"],"sources":["osv"]},{"ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-relational","fixed_in":["3.3.13-tuxcare.6","3.4.13-tuxcare.4","3.3.12-tuxcare.3","2.4.18-tuxcare.6"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"last_affected":"4.0.5"},{"fixed":"4.0.6"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.5.0"},{"last_affected":"3.5.11"},{"fixed":"3.5.12"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.4.0"},{"last_affected":"3.4.14"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"last_affected":"3.3.16"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.4.19"}]}]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-jdbc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.3.13"},{"fixed":"3.3.13-tuxcare.6"}]}],"versions":["3.3.13","3.3.13-tuxcare.1","3.3.13-tuxcare.2","3.3.13-tuxcare.3","3.3.13-tuxcare.4","3.3.13-tuxcare.5"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-r2dbc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.3.13"},{"fixed":"3.3.13-tuxcare.6"}]}],"versions":["3.3.13","3.3.13-tuxcare.1","3.3.13-tuxcare.2","3.3.13-tuxcare.3","3.3.13-tuxcare.4","3.3.13-tuxcare.5"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.3.13"},{"fixed":"3.3.13-tuxcare.6"}]}],"versions":["3.3.13","3.3.13-tuxcare.1","3.3.13-tuxcare.2","3.3.13-tuxcare.3","3.3.13-tuxcare.4","3.3.13-tuxcare.5"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-jdbc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.4.13"},{"fixed":"3.4.13-tuxcare.4"}]}],"versions":["3.4.13","3.4.13-tuxcare.1","3.4.13-tuxcare.2","3.4.13-tuxcare.3"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-r2dbc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.4.13"},{"fixed":"3.4.13-tuxcare.4"}]}],"versions":["3.4.13","3.4.13-tuxcare.1","3.4.13-tuxcare.2","3.4.13-tuxcare.3"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.4.13"},{"fixed":"3.4.13-tuxcare.4"}]}],"versions":["3.4.13","3.4.13-tuxcare.1","3.4.13-tuxcare.2","3.4.13-tuxcare.3"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-jdbc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.3.12"},{"fixed":"3.3.12-tuxcare.3"}]}],"versions":["3.3.12","3.3.12-tuxcare.1","3.3.12-tuxcare.2"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-r2dbc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.3.12"},{"fixed":"3.3.12-tuxcare.3"}]}],"versions":["3.3.12","3.3.12-tuxcare.1","3.3.12-tuxcare.2"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.3.12"},{"fixed":"3.3.12-tuxcare.3"}]}],"versions":["3.3.12","3.3.12-tuxcare.1","3.3.12-tuxcare.2"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-jdbc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.4.18"},{"fixed":"2.4.18-tuxcare.6"}]}],"versions":["2.4.18","2.4.18-tuxcare.1","2.4.18-tuxcare.2","2.4.18-tuxcare.3","2.4.18-tuxcare.4","2.4.18-tuxcare.5"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.4.18"},{"fixed":"2.4.18-tuxcare.6"}]}],"versions":["2.4.18","2.4.18-tuxcare.1","2.4.18-tuxcare.2","2.4.18-tuxcare.3","2.4.18-tuxcare.4","2.4.18-tuxcare.5"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.0.6"}]}],"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4","4.0.5"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.5.0"},{"fixed":"3.5.12"}]}],"versions":["3.5.0","3.5.1","3.5.10","3.5.11","3.5.2","3.5.3","3.5.4","3.5.5","3.5.6","3.5.7","3.5.8","3.5.9"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.4.0"},{"last_affected":"3.4.14"}]}],"versions":["3.4.0","3.4.1","3.4.10","3.4.11","3.4.12","3.4.13","3.4.2","3.4.3","3.4.4","3.4.5","3.4.6","3.4.7","3.4.8","3.4.9"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"last_affected":"3.3.16"}]}],"versions":["3.0.0","3.0.1","3.0.10","3.0.11","3.0.12","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9","3.1.0","3.1.1","3.1.10","3.1.11","3.1.12","3.1.2","3.1.3","3.1.4","3.1.5","3.1.6","3.1.7","3.1.8","3.1.9","3.2.0","3.2.1","3.2.10","3.2.11","3.2.12","3.2.2","3.2.3","3.2.4","3.2.5","3.2.6","3.2.7","3.2.8","3.2.9","3.3.0","3.3.1","3.3.10","3.3.11","3.3.12","3.3.13","3.3.2","3.3.3","3.3.4","3.3.5","3.3.6","3.3.7","3.3.8","3.3.9"]},{"source":"osv","ecosystem":"Maven","package":"org.springframework.data:spring-data-relational","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.4.19"}]}],"versions":["1.1.0.RELEASE","1.1.1.RELEASE","1.1.10.RELEASE","1.1.11.RELEASE","1.1.12.RELEASE","1.1.13.RELEASE","1.1.2.RELEASE","1.1.3.RELEASE","1.1.4.RELEASE","1.1.5.RELEASE","1.1.6.RELEASE","1.1.7.RELEASE","1.1.8.RELEASE","1.1.9.RELEASE","2.0.0.RELEASE","2.0.1.RELEASE","2.0.2.RELEASE","2.0.3.RELEASE","2.0.4.RELEASE","2.0.5.RELEASE","2.0.6.RELEASE","2.0.7.RELEASE","2.0.8.RELEASE","2.0.9.RELEASE","2.1.0","2.1.1","2.1.10","2.1.11","2.1.12","2.1.13","2.1.14","2.1.15","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9","2.2.0","2.2.1","2.2.10","2.2.11","2.2.12","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2.8","2.2.9","2.3.0","2.3.1","2.3.10","2.3.2","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.3.9","2.4.0","2.4.1","2.4.10","2.4.11","2.4.12","2.4.13","2.4.14","2.4.15","2.4.16","2.4.17","2.4.18","2.4.2","2.4.3","2.4.4","2.4.5","2.4.6","2.4.7","2.4.8","2.4.9"]}],"products":[{"vendor":"broadcom","product":"spring_data_relational"},{"vendor":"spring","product":"spring data jdbc"},{"vendor":"spring","product":"spring data r2dbc"},{"vendor":"spring","product":"spring data relational"}],"references":[{"url":"https://spring.io/security/cve-2026-41697","tags":["Vendor Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41697","tags":["advisory"]},{"url":"https://github.com/spring-projects/spring-data-relational/releases/tag/3.5.12","tags":["web"]},{"url":"https://github.com/spring-projects/spring-data-relational/releases/tag/4.0.6","tags":["web"]},{"url":"https://github.com/advisories/GHSA-8r2h-xh92-gq57"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41697.json","tags":["advisory"]},{"url":"https://github.com/spring-projects/spring-data-relational","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-41697","title":"Spring Data Relational Parameter not Escaped for Query By Example LIKE Pattern","description":"Spring Data Relational does not properly escape binding values of externally-controlled input when using StringMatcher (STARTING, ENDING, or CONTAINING) in Query By Example (QBE). An attacker can supply wildcard characters to perform boolean-based blind data inference.\n\nAffected versions:\nSpring Data Relational/JDBC/R2DBC 4.0.0 through 4.0.5; 3.5.0 through 3.5.11; 3.4.0 through 3.4.14; 3.3.0 through 3.3.16; 3.2.0 through 3.2.15; 3.1.0 through 3.1.14; 3.0.0 through 3.0.15; 2.4.0 through 2.4.19.","status":"published","published":"2026-06-09T23:47:42.091Z","modified":"2026-06-27T21:33:25.58Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-943"],"updated_at":"2026-11-02T13:41:19.694734Z"}],"euvd":[{"id":"EUVD-2026-35893","description":"Spring Data Relational does not properly escape binding values of externally-controlled input when using StringMatcher (STARTING, ENDING, or CONTAINING) in Query By Example (QBE). An attacker can supply wildcard characters to perform boolean-based blind data inference.\n\nAffected versions:\nSpring Data Relational/JDBC/R2DBC 4.0.0 through 4.0.5; 3.5.0 through 3.5.11; 3.4.0 through 3.4.14; 3.3.0 through 3.3.16; 3.2.0 through 3.2.15; 3.1.0 through 3.1.14; 3.0.0 through 3.0.15; 2.4.0 through 2.4.19.","status":"published","published":"2026-06-09T23:47:42Z","modified":"2026-06-27T21:33:25Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium"}],"updated_at":"2026-11-02T18:20:23.349194Z"}],"ghsa":[{"id":"GHSA-8r2h-xh92-gq57","title":"Spring Data Relational: Attackers can supply wildcard characters to perform boolean-based blind data inference","description":"Spring Data Relational does not properly escape binding values of externally-controlled input when using StringMatcher (STARTING, ENDING, or CONTAINING) in Query By Example (QBE). An attacker can supply wildcard characters to perform boolean-based blind data inference.\n\nAffected versions:\nSpring Data Relational/JDBC/R2DBC 4.0.0 through 4.0.5; 3.5.0 through 3.5.11; 3.4.0 through 3.4.14; 3.3.0 through 3.3.16; 3.2.0 through 3.2.15; 3.1.0 through 3.1.14; 3.0.0 through 3.0.15; 2.4.0 through 2.4.19.","status":"published","published":"2026-06-10T00:31:51Z","modified":"2026-08-12T16:19:04Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium"}],"cwes":["CWE-943"],"updated_at":"2026-11-02T14:40:58.888637Z"}],"nvd":[{"id":"CVE-2026-41697","description":"Spring Data Relational does not properly escape binding values of externally-controlled input when using StringMatcher (STARTING, ENDING, or CONTAINING) in Query By Example (QBE). An attacker can supply wildcard characters to perform boolean-based blind data inference.\n\nAffected versions:\nSpring Data Relational/JDBC/R2DBC 4.0.0 through 4.0.5; 3.5.0 through 3.5.11; 3.4.0 through 3.4.14; 3.3.0 through 3.3.16; 3.2.0 through 3.2.15; 3.1.0 through 3.1.14; 3.0.0 through 3.0.15; 2.4.0 through 2.4.19.","status":"published","published":"2026-06-10T00:16:50.947Z","modified":"2026-09-04T19:18:46.493Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium","assessor":"secondary"}],"cwes":["CWE-943"],"updated_at":"2026-11-02T14:12:23.485267Z"}],"osv":[{"id":"CVE-2026-41697","title":"Spring Data Relational Parameter not Escaped for Query By Example LIKE Pattern","description":"Spring Data Relational does not properly escape binding values of externally-controlled input when using StringMatcher (STARTING, ENDING, or CONTAINING) in Query By Example (QBE). An attacker can supply wildcard characters to perform boolean-based blind data inference.\n\nAffected versions:\nSpring Data Relational/JDBC/R2DBC 4.0.0 through 4.0.5; 3.5.0 through 3.5.11; 3.4.0 through 3.4.14; 3.3.0 through 3.3.16; 3.2.0 through 3.2.15; 3.1.0 through 3.1.14; 3.0.0 through 3.0.15; 2.4.0 through 2.4.19.","status":"published","published":"2026-06-09T23:47:42.091Z","modified":"2026-10-28T02:30:33.011619142Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium"}],"cwes":["CWE-943"],"updated_at":"2026-11-02T15:45:03.764807Z"},{"id":"GHSA-8r2h-xh92-gq57","title":"Spring Data Relational: Attackers can supply wildcard characters to perform boolean-based blind data inference","description":"Spring Data Relational does not properly escape binding values of externally-controlled input when using StringMatcher (STARTING, ENDING, or CONTAINING) in Query By Example (QBE). An attacker can supply wildcard characters to perform boolean-based blind data inference.\n\nAffected versions:\nSpring Data Relational/JDBC/R2DBC 4.0.0 through 4.0.5; 3.5.0 through 3.5.11; 3.4.0 through 3.4.14; 3.3.0 through 3.3.16; 3.2.0 through 3.2.15; 3.1.0 through 3.1.14; 3.0.0 through 3.0.15; 2.4.0 through 2.4.19.","status":"published","published":"2026-06-10T00:31:51Z","modified":"2026-08-12T16:41:04.421108Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L","level":"medium"}],"cwes":["CWE-943"],"updated_at":"2026-11-02T15:46:42.78452Z"},{"id":"CLSA-2026-1791381930","title":"TuxCare security update for org.springframework.data (1 CVE)","description":"TuxCare rebuilt 3 org.springframework.data packages to address 1 CVE. Fixed in 3.3.13-tuxcare.6.","status":"published","published":"2026-10-07T14:05:30Z","modified":"2026-10-30T07:30:46.2263122Z","updated_at":"2026-11-02T15:43:49.016976Z"},{"id":"CLSA-2026-1791983363","title":"TuxCare security update for org.springframework.data (1 CVE)","description":"TuxCare rebuilt 3 org.springframework.data packages to address 1 CVE. Fixed in 3.4.13-tuxcare.4.","status":"published","published":"2026-10-14T13:09:23Z","modified":"2026-10-30T13:30:03.575916115Z","updated_at":"2026-11-02T15:43:50.599064Z"},{"id":"CLSA-2026-1792429184","title":"TuxCare security update for org.springframework.data (1 CVE)","description":"TuxCare rebuilt 3 org.springframework.data packages to address 1 CVE. Fixed in 3.3.12-tuxcare.3.","status":"published","published":"2026-10-19T16:59:44Z","modified":"2026-10-30T07:30:25.541953353Z","updated_at":"2026-11-02T15:43:54.119956Z"},{"id":"CLSA-2026-1793194299","title":"TuxCare security update for org.springframework.data (1 CVE)","description":"TuxCare rebuilt 2 org.springframework.data packages to address 1 CVE. Fixed in 2.4.18-tuxcare.6.","status":"published","published":"2026-10-28T13:31:39Z","modified":"2026-10-30T13:30:08.783842955Z","updated_at":"2026-11-02T15:43:55.34846Z"}]}}
