Miggo Logo

CVE-2021-28170: Improper Input Validation in Jakarta Expression Language

5.3

CVSS Score
3.1

Basic Information

EPSS Score
0.24185%
Published
10/6/2021
Updated
2/1/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
com.sun.el:el-rimaven< 3.0.43.0.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from improper handling of escape characters in EL expression parsing. The ELParserTokenManager's bitmask logic and LITERAL_EXPRESSION grammar rule failed to properly validate() input when encountering escaped delimiters, allowing invalid expressions to be evaluated. The commit diff shows these components were explicitly modified in the patch, confirming their role in the vulnerability.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

In t** J*k*rt* *xpr*ssion L*n*u*** impl*m*nt*tion *.*.* *n* **rli*r, * *u* in t** *LP*rs*rTok*nM*n***r *n**l*s inv*li* *L *xpr*ssions to ** *v*lu*t** *s i* t**y w*r* v*li*.

Reasoning

T** vuln*r**ility st*mm** *rom improp*r **n*lin* o* *s**p* ***r**t*rs in *L *xpr*ssion p*rsin*. T** `*LP*rs*rTok*nM*n***r`'s *itm*sk lo*i* *n* `LIT*R*L_*XPR*SSION` *r*mm*r rul* **il** to prop*rly `v*li**t*()` input w**n *n*ount*rin* *s**p** **limit*r