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. Affected versions: Spring 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.
Problem types
CWE-943: Improper Neutralization of Special Elements in Data Query Logic
Product status
4.0.0 (custom) before 4.0.6
3.5.0 (custom) before 3.5.12
3.4.0 (custom) before 3.4.15
3.3.0 (custom) before 3.3.17
3.2.0 (custom) before 3.2.16
3.1.0 (custom) before 3.1.15
3.0.0 (custom) before 3.0.16
2.4.0 (custom) before 2.4.20
4.0.0 (custom) before 4.0.6
3.5.0 (custom) before 3.5.12
3.4.0 (custom) before 3.4.15
3.3.0 (custom) before 3.3.17
3.2.0 (custom) before 3.2.16
3.1.0 (custom) before 3.1.15
3.0.0 (custom) before 3.0.16
2.4.0 (custom) before 2.4.20
4.0.0 (custom) before 4.0.6
3.5.0 (custom) before 3.5.12
3.4.0 (custom) before 3.4.15
3.3.0 (custom) before 3.3.17
3.2.0 (custom) before 3.2.16
3.1.0 (custom) before 3.1.15
3.0.0 (custom) before 3.0.16
1.5.0 (custom) before 1.5.20
References
spring.io/security/cve-2026-41697