Spring Data Relational Parameter not Escaped for Query By Example LIKE Pattern
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.
Description: CWE-943: Improper Neutralization of Special Elements in Data Query Logic
Metrics
Version
Base score
Base severity
Vector
3.1
4.8
MEDIUM
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L
Version:3.1
Base score:4.8
Base severity: MEDIUM
Vector:
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L
Metrics Other Info
Impacts
CAPEC ID
Description
N/A
An attacker who can supply wildcard characters to a Query By Example probe can perform boolean-based blind data inference against the queried entity.
CAPEC ID: N/A
Description: An attacker who can supply wildcard characters to a Query By Example probe can perform boolean-based blind data inference against the queried entity.