Miggo Logo

CVE-2023-32070: Improper Neutralization of Script in Attributes in XWiki (X)HTML renderers

9.1

CVSS Score
3.1

Basic Information

EPSS Score
0.88252%
Published
5/11/2023
Updated
11/7/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.xwiki.rendering:xwiki-rendering-syntax-xhtmlmaven< 14.6-rc-114.6-rc-1
org.xwiki.platform:xwiki-core-rendering-apimaven<= 3.0-milestone-2
org.xwiki.rendering:xwiki-rendering-syntax-htmlmaven< 14.6-rc-114.6-rc-1
org.xwiki.rendering:xwiki-rendering-syntax-html5maven< 14.6-rc-114.6-rc-1
org.xwiki.rendering:xwiki-rendering-syntax-annotatedxhtmlmaven< 14.6-rc-114.6-rc-1
org.xwiki.rendering:xwiki-rendering-syntax-annotatedhtml5maven< 14.6-rc-114.6-rc-1
org.xwiki.platform:xwiki-platform-annotation-coremaven< 14.6-rc-114.6-rc-1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from missing HTML attribute sanitization in XWiki's rendering components. The commit introduces HTMLElementSanitizer across multiple renderers (XHTML, HTML5, AnnotatedHTML) and modifies XHTMLWikiPrinter to validate attributes. The affected functions are the rendering entry points that process HTML elements/attributes. The patch explicitly adds sanitization to these components, indicating they were previously vulnerable. Test file changes show attributes being prefixed with 'data-xwiki-translated-attribute-' when disallowed, proving the lack of prior validation.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t *TML r*n**rin* *i*n't ****k *or **n**rous *ttri*ut*s/*ttri*ut* v*lu*s. T*is *llow** *ross-sit* s*riptin* (XSS) *tt**ks vi* *ttri*ut*s *n* link URLs, *.*., support** in XWiki synt*x. ### P*t***s T*is **s ***n p*t**** in XWiki **.* R**. #

Reasoning

T** vuln*r**ility st*mm** *rom missin* *TML *ttri*ut* s*nitiz*tion in XWiki's r*n**rin* *ompon*nts. T** *ommit intro*u**s *TML*l*m*ntS*nitiz*r **ross multipl* r*n**r*rs (X*TML, *TML*, *nnot*t***TML) *n* mo*i*i*s X*TMLWikiPrint*r to v*li**t* *ttri*ut*