Miggo Logo

CVE-2023-27481: Directus vulnerable to extraction of password hashes through export querying

6.5

CVSS Score
3.1

Basic Information

EPSS Score
0.4401%
Published
3/8/2023
Updated
3/26/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
directusnpm< 9.16.09.16.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from two key points: 1) Filter processing logic allowing string operators on hashed fields, and 2) GraphQL type definitions not properly restricting operators for concealed fields. The patches in PR#14829 and PR#15010 explicitly address these by introducing operator allow-list checks and specialized GraphQLHash types. While exact function names aren't visible in diffs, the pattern matches Directus' architecture where items service handles filtering and GraphQL types define field capabilities. The combination of these two components being improperly configured would directly enable the described hash extraction attack.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t Us*rs wit* r*** ****ss to t** `p*sswor*` *i*l* in `*ir**tus_us*rs` **n *xtr**t t** *r*on* p*sswor* **s**s *y *rut* *or*in* t** *xport *un*tion*lity *om*in** wit* * `_st*rts_wit*` *ilt*r. T*is *llows t** us*r to *num*r*t* t** p*sswor* **s*

Reasoning

T** vuln*r**ility st*ms *rom two k*y points: *) *ilt*r pro**ssin* lo*i* *llowin* strin* op*r*tors on **s*** *i*l*s, *n* *) *r*p*QL typ* ***initions not prop*rly r*stri*tin* op*r*tors *or *on***l** *i*l*s. T** p*t***s in PR#***** *n* PR#***** *xpli*it