Miggo Logo

CVE-2020-28487: Cross-site Scripting in vis-timeline

6.8

CVSS Score
3.1

Basic Information

EPSS Score
0.65751%
Published
4/13/2021
Updated
2/1/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
vis-timelinenpm< 7.4.47.4.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from multiple instances where user-controlled input was directly assigned to innerHTML without proper sanitization. The GitHub commit diff shows these functions were modified to add xss() sanitization in version 7.4.4. Key indicators include: 1) Direct innerHTML assignments of user-controlled content fields like item titles and group IDs 2) The pattern of adding util.xss() wrappers in the patched version 3) The XSS vulnerability description explicitly mentions timeline item content injection as the attack vector. These functions handle critical rendering paths for user-supplied content in timeline elements.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

T*is *****ts t** p**k*** vis-tim*lin* ***or* *.*.*. *n *tt**k*r wit* t** **ility to *ontrol t** it*ms o* * Tim*lin* *l*m*nt **n inj**t ***ition*l s*ript *o** into t** **n*r*t** *ppli**tion.

Reasoning

T** vuln*r**ility st*ms *rom multipl* inst*n**s w**r* us*r-*ontroll** input w*s *ir**tly *ssi*n** to inn*r*TML wit*out prop*r s*nitiz*tion. T** *it*u* *ommit *i** s*ows t**s* *un*tions w*r* mo*i*i** to *** xss() s*nitiz*tion in v*rsion *.*.*. K*y in*