Miggo Logo

CVE-2024-42515: Glossarizer Cross-site Scripting vulnerability

6.1

CVSS Score
3.1

Basic Information

EPSS Score
0.32027%
Published
10/31/2024
Updated
11/1/2024
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
glossarizernpm<= 1.5.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper HTML sanitization when converting glossary terms. The Herolab advisory explicitly references line 240 in jquery.glossarize.js where .html() is used to inject content. jQuery's .html() method inherently parses input as HTML, which re-interprets previously escaped characters (like < and >) as actual HTML tags. This creates an XSS vector when attackers supply malicious payloads in glossary terms. The confidence is high because the advisory directly identifies the .html() usage as the root cause, and this aligns with jQuery's documented behavior of executing HTML content passed to .html().

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*loss*riz*r t*rou** *.*.* improp*rly tri*s to *onv*rt t*xt into *TML. *v*n t*ou** t** *ppli**tion its*l* *s**p*s sp**i*l ***r**t*rs (*.*., <>), t** un**rlyin* li*r*ry *onv*rts t**s* *n*o*** ***r**t*rs into l**itim*t* *TML, t**r**y possi*ly **usin* st

Reasoning

T** vuln*r**ility st*ms *rom improp*r *TML s*nitiz*tion w**n *onv*rtin* *loss*ry t*rms. T** **rol** **visory *xpli*itly r***r*n**s lin* *** in `jqu*ry.*loss*riz*.js` w**r* `.*tml()` is us** to inj**t *ont*nt. jQu*ry's `.*tml()` m*t*o* in**r*ntly p*rs