Miggo Logo

CVE-2025-21612:
Extension:TabberNeue vulnerable to Cross-site Scripting

8.6

CVSS Score
3.1

Basic Information

EPSS Score
0.3118%
Published
1/6/2025
Updated
1/6/2025
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
starcitizentools/tabber-neuecomposer>= 1.9.1, < 2.7.22.7.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The primary vulnerability stems from the buildTabTransclude function in TabberNeueHooks.php. In the original code (introduced in d8c3db4), $pageName (user-controlled input) was directly interpolated into an HTML error message via sprintf() without escaping. This was patched in f229cab by adding Sanitizer::escapeHtmlAllowEntities(). The PoC demonstrates this vector by injecting a <script> tag via the page name parameter. The other two reported issues were deemed invalid/unreachable: (1) recursiveTagParse usage in Tabber.php is mitigated by MediaWiki's parser sanitization, and (2) TabberParsoid.php's code was unused. The confidence is high due to the reproducible PoC and explicit patch addressing this specific code path.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry T**r* *r* s*v*r*l sour**s o* *r*itr*ry, un*s**p** us*r input **in* us** to *onstru*t *TML, w*i** *llows *ny us*r t**t **n **it p***s or ot**rwis* r*n**r wikit*xt to XSS ot**r us*rs. > **it: Only t** *irst XSS **n ** r*pro*u*** in pro*u*t

Reasoning

T** prim*ry vuln*r**ility st*ms *rom t** `*uil*T**Tr*ns*lu**` *un*tion in `T****rN*u**ooks.p*p`. In t** ori*in*l *o** (intro*u*** in *******), `$p***N*m*` (us*r-*ontroll** input) w*s *ir**tly int*rpol*t** into *n *TML *rror m*ss*** vi* `sprint*()` wi