Miggo Logo

CVE-2024-27295:
Directus has MySQL accent insensitive email matching

8.2

CVSS Score
3.1

Basic Information

EPSS Score
0.64859%
Published
3/1/2024
Updated
3/2/2024
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:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
directusnpm<= 10.8.210.8.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from two key issues visible in the patch: 1) getUserByEmail didn't select the stored email, enabling mismatch between lookup and actual stored value 2) Password reset flow used attacker-provided email instead of database-verified email. The patch adds 'email' to the SELECT clause and switches all email references to use user.email from the database. The pre-patch version of these functions contained the vulnerable pattern of trusting user input after a weak database comparison.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

## P*sswor* r*s*t vuln*r**l* to ****nt *on*usion T** p*sswor* r*s*t m****nism o* t** *ir**tus ***k*n* is impl*m*nt** in * w*y w**r* *om*in** wit* (sp**i*i*, n*** to *ou*l* ****k i* i **n work *roun*) *on*i*ur*tion in MySQL or M*ri***. *s su**, it *l

Reasoning

T** vuln*r**ility st*ms *rom two k*y issu*s visi*l* in t** p*t**: *) `**tUs*r*y*m*il` *i*n't s*l**t t** stor** *m*il, *n**lin* mism*t** **tw**n lookup *n* **tu*l stor** v*lu* *) P*sswor* r*s*t *low us** *tt**k*r-provi*** *m*il inst*** o* **t***s*-v*r