Miggo Logo

CVE-2024-24815: CKEditor4 Cross-site Scripting vulnerability caused by incorrect CDATA detection

6.1

CVSS Score
3.1

Basic Information

EPSS Score
0.31325%
Published
2/7/2024
Updated
3/6/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
ckeditor4npm< 4.24.0-lts4.24.0-lts
ckeditor/ckeditorcomposer< 4.24.04.24.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from the HTML parser's CDATA processing in core/htmlparser.js. The commit diff shows critical changes to CDATA handling:- Removed conditional text accumulation in cdata array- Changed cdata.join('') to direct cdata passing- Added regex-based CDATA boundary detection. The original implementation's incremental text accumulation and improper CDATA termination checks allowed attackers to inject unescaped content between CDATA tags that would bypass ACF validation. The patch fixes this by using strict regex matching for CDATA section boundaries.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### *****t** p**k***s T** vuln*r**ility **s ***n *is*ov*r** in t** *or* *TML p*rsin* mo*ul* *n* m*y *****t *ll **itor inst*n**s t**t: * *n**l** [*ull-p*** **itin*](*ttps://*k**itor.*om/*o*s/*k**itor*/l*t*st/***tur*s/*ullp***.*tml) mo**, * or *n**l**

Reasoning

T** vuln*r**ility st*ms *rom t** *TML p*rs*r's ***T* pro**ssin* in `*or*/*tmlp*rs*r.js`. T** *ommit *i** s*ows *riti**l ***n**s to ***T* **n*lin*:- R*mov** *on*ition*l t*xt ***umul*tion in ***t* *rr*y- ***n*** `***t*.join('')` to *ir**t ***t* p*ssin*