Skip to content

XWiki Platform vulnerable to XSS with edit right in the create document form for existing pages

Critical severity GitHub Reviewed Published Oct 25, 2023 in xwiki/xwiki-platform • Updated Nov 5, 2023

Package

maven org.xwiki.platform:xwiki-platform-web (Maven)

Affected versions

>= 3.1-milestone-2, < 13.4-rc-1

Patched versions

13.4-rc-1
maven org.xwiki.platform:xwiki-platform-web-templates (Maven)
< 14.10.12
>= 15.0-rc-1, < 15.5-rc-1
14.10.12
15.5-rc-1

Description

Impact

When trying to create a document that already exists, XWiki displays an error message in the form for creating it. Due to missing escaping, this error message is vulnerable to raw HTML injection and thus XSS. The injected code is the document reference of the existing document so this requires that the attacker first creates a non-empty document whose name contains the attack code.

To reproduce, the following steps can be used:

  1. Go to <xwiki-host>/xwiki/bin/create/Main/WebHome?parent=&templateprovider=&spaceReference=&name=%3Cimg%20onerror=%22alert(1)%22%20src=%22test%22 where <xwiki-host> is the URL of your XWiki installation.
  2. Create the page and add some content.
  3. Go again to <xwiki-host>/xwiki/bin/create/Main/WebHome?parent=&templateprovider=&spaceReference=&name=%3Cimg%20onerror=%22alert(1)%22%20src=%22test%22 where <xwiki-host> is the URL of your XWiki installation.

If an alert with content "1" is displayed, the installation is vulnerable. This allows an attacker to execute arbitrary actions with the rights of the user opening the malicious link. Depending on the rights of the user, this may allow remote code execution and full read and write access to the whole XWiki installation.

Patches

This has been patched in XWiki 14.10.12 and 15.5RC1 by adding the appropriate escaping.

Workarounds

The vulnerable template file createinline.vm is part of XWiki's WAR and can be patched by manually applying the changes from the fix.

References

@michitux michitux published to xwiki/xwiki-platform Oct 25, 2023
Published to the GitHub Advisory Database Oct 25, 2023
Reviewed Oct 25, 2023
Published by the National Vulnerability Database Oct 25, 2023
Last updated Nov 5, 2023

Severity

Critical
9.1
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H

EPSS score

0.051%
(21st percentile)

Weaknesses

CVE ID

CVE-2023-45137

GHSA ID

GHSA-93gh-jgjj-r929

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.