Miggo Logo

CVE-2019-20174:
auth0-lock vulnerable to XSS via unsanitized placeholder property

6.1

CVSS Score

Basic Information

EPSS Score
-
Published
1/31/2020
Updated
9/11/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
auth0-locknpm< 11.21.011.21.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from two key points: 1) The CheckboxInput component's render method directly injected the 'placeholder' value using React's dangerouslySetInnerHTML without sanitization, making it susceptible to XSS. 2) The options processing logic in processDatabaseOptions did not properly validate that 'placeholder' values for checkbox fields should be treated as plain text. The commit diff shows the fix involved separating placeholder (plain text) and placeholderHTML (explicit HTML) handling, confirming the previous unsafe usage of 'placeholder' with innerHTML.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

## Ov*rvi*w *ut** Lo*k v*rsion **.**.* *n* **rli*r *i* not prop*rly s*nitiz* t** **n*r*t** *TML *o**. *ustom*rs usin* t** `***ition*lSi*nUp*i*l*s` *ustomiz*tion option to *** * ****k*ox to t** si*n-up *i*lo* t**t *r* p*ssin* * `pl****ol**r` prop*rty

Reasoning

T** vuln*r**ility st*ms *rom two k*y points: *) T** ****k*oxInput *ompon*nt's r*n**r m*t*o* *ir**tly inj**t** t** 'pl****ol**r' v*lu* usin* R***t's **n**rouslyS*tInn*r*TML wit*out s*nitiz*tion, m*kin* it sus**pti*l* to XSS. *) T** options pro**ssin*