Medium · published June 10, 2026
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.
| Product | Versions | Fixed in |
|---|---|---|
| broadcom/spring_data_relational | < 2.4.20 | 2.4.20 |
| broadcom/spring_data_relational | ≥ 3.0.0, < 3.3.17 | 3.3.17 |
| broadcom/spring_data_relational | ≥ 3.4.0, < 3.4.15 | 3.4.15 |
| broadcom/spring_data_relational | ≥ 3.5.0, < 3.5.11.1 | 3.5.11.1 |
| broadcom/spring_data_relational | ≥ 4.0.0, < 4.0.5.1 | 4.0.5.1 |