Miggo Logo

CVE-2024-21650:
XWiki Remote Code Execution Vulnerability via User Registration

10

CVSS Score
3.1

Basic Information

EPSS Score
0.99805%
Published
1/8/2024
Updated
1/11/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.xwiki.platform:xwiki-platform-administration-uimaven>= 2.2, < 14.10.1714.10.17
org.xwiki.platform:xwiki-platform-administration-uimaven>= 15.0-rc-1, < 15.5.315.5.3
org.xwiki.platform:xwiki-platform-administration-uimaven>= 15.6-rc-1, < 15.8-rc-115.8-rc-1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper escaping in the registration success message template. The original code used $request.get() to concatenate user-provided first/last names into a wiki link syntax [[$fullName>>...]]. This allowed attackers to close the existing Velocity/HTML tags and inject Groovy code. The patch replaced this with $xwiki.getUserName() which properly escapes output, confirming the vulnerability was in the template's handling of raw user input. The file modification in RegistrationConfig.xml and the CWE-94/CWE-95 classifications directly point to code injection in template processing as the root cause.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t XWiki is vuln*r**l* to * r*mot* *o** *x**ution (R**) *tt**k t*rou** its us*r r**istr*tion ***tur*. T*is issu* *llows *n *tt**k*r to *x**ut* *r*itr*ry *o** *y *r**tin* m*li*ious p*ylo**s in t** "*irst n*m*" or "l*st n*m*" *i*l*s *urin* us*r

Reasoning

T** vuln*r**ility st*ms *rom improp*r *s**pin* in t** r**istr*tion su***ss m*ss*** t*mpl*t*. T** ori*in*l *o** us** `$r*qu*st.**t()` to *on**t*n*t* us*r-provi*** *irst/l*st n*m*s into * wiki link synt*x [[$*ullN*m*>>...]]. T*is *llow** *tt**k*rs to *