Miggo Logo

CVE-2019-3802:
Improper Neutralization of Wildcards or Matching Symbols

5.3

CVSS Score
3.0

Basic Information

EPSS Score
0.47581%
Published
6/4/2019
Updated
1/27/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.springframework.data:spring-data-jpamaven< 1.11.221.11.22
org.springframework.data:spring-data-jpamaven>= 2.1.0, < 2.1.82.1.8
org.springframework.data:spring-data-jpamaven>= 2.0.0, <= 2.0.142.1.8

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability occurs in Spring Data JPA's Query-by-Example (QBE) implementation where user-controlled example values are incorporated into SQL LIKE clauses without proper escaping when using STARTING, ENDING, or CONTAINING matchers. The primary vulnerable function is QueryByExamplePredicateBuilder.getPredicate() which processes example values and applies StringMatcher transformations. This function would appear in stack traces when building queries from malicious examples. The ExampleMatcher configuration methods (like GenericPropertyMatcher.ignoreCase()) are secondary indicators as they establish the unsafe matching mode. The patch likely modified these areas to add escaping logic for example values before wildcard expansion.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

T*is *****ts Sprin* **t* JP* in v*rsions up to *n* in*lu*in* *.*.*, *.*.** *n* *.**.**. *x*mpl*M*t***r usin* *x*mpl*M*t***r.Strin*M*t***r.ST*RTIN*, *x*mpl*M*t***r.Strin*M*t***r.*N*IN* or *x*mpl*M*t***r.Strin*M*t***r.*ONT*ININ* *oul* r*turn mor* r*sul

Reasoning

T** vuln*r**ility o**urs in Sprin* **t* JP*'s Qu*ry-*y-*x*mpl* (Q**) impl*m*nt*tion w**r* us*r-*ontroll** *x*mpl* v*lu*s *r* in*orpor*t** into SQL LIK* *l*us*s wit*out prop*r *s**pin* w**n usin* ST*RTIN*, *N*IN*, or *ONT*ININ* m*t***rs. T** prim*ry v