Miggo Logo

CVE-2023-22894: Strapi leaking sensitive user information by filtering on private fields

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.94002%
Published
4/19/2023
Updated
11/7/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
@strapi/strapinpm>= 3.2.1, < 4.8.04.8.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability (CVE-2023-22894) explicitly involves improper filtering on private fields via API requests. The core issue lies in how query parameters were processed: Strapi's filtering mechanism allowed attackers to specify sensitive fields like 'password' or 'reset_password_token' in filter conditions. The regex IoC pattern (/([|%5B)\s*(email|password|reset_password_token|resetPasswordToken)\s*(]|%5D)/) directly targets these parameters in HTTP requests. While specific function names/paths aren't provided in the disclosures, the vulnerability inherently resides in the query parsing/filtering logic (likely in entity-service or user-controller code). The Strapi 4.8.0 patch notes and security blog emphasize query sanitization changes, confirming this component was the root cause.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry Str*pi t*rou** *.*.* *llows un*ut**nti**t** *tt**k*rs to *is*ov*r s*nsitiv* us*r **t*ils *or Str*pi **ministr*tors *n* *PI us*rs. ### **t*ils Str*pi t*rou** *.*.* *llows un*ut**nti**t** *tt**k*rs to *is*ov*r s*nsitiv* us*r **t*ils *or

Reasoning

T** vuln*r**ility (*V*-****-*****) *xpli*itly involv*s improp*r *ilt*rin* on priv*t* *i*l*s vi* *PI r*qu*sts. T** *or* issu* li*s in *ow qu*ry p*r*m*t*rs w*r* pro**ss**: Str*pi's *ilt*rin* m****nism *llow** *tt**k*rs to sp**i*y s*nsitiv* *i*l*s lik*