Skip to content

Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') in xwiki-platform-icon-ui

Critical severity GitHub Reviewed Published Nov 21, 2022 in xwiki/xwiki-platform • Updated Feb 3, 2023

Package

maven org.xwiki.platform:xwiki-platform-icon-ui (Maven)

Affected versions

>= 6.4-milestone-2, < 13.10.7
>= 14.0.0, < 14.4.2

Patched versions

13.10.7
14.4.2

Description

Impact

Any user with view rights on commonly accessible documents including the icon picker macro can execute arbitrary Groovy, Python or Velocity code in XWiki due to improper neutralization of the macro parameters of the icon picker macro.

The URL <server>/xwiki/bin/view/Main?sheet=CKEditor.HTMLConverter&language=en&sourceSyntax=xwiki%252F2.1&stripHTMLEnvelope=true&fromHTML=false&toHTML=true&text=%7B%7BiconPicker%20id%3D%22'%3C%2Fscript%3E%7B%7B%2Fhtml%7D%7D%7B%7Bcache%7D%7D%7B%7Bgroovy%7D%7Dprintln(%2FHellofromIconPickerId%2F)%7B%7B%2Fgroovy%7D%7D%7B%7B%2Fcache%7D%7D%22%20class%3D%22'%3C%2Fscript%3E%7B%7B%2Fhtml%7D%7D%7B%7Bcache%7D%7D%7B%7Bgroovy%7D%7Dprintln(%2FHellofromIconPickerClass%2F)%7B%7B%2Fgroovy%7D%7D%7B%7B%2Fcache%7D%7D%22%2F%7D%7D demonstrates the issue (replace <server> by the URL to your XWiki installation). If the output HellofromIconPickerId or HellofromIconPickerClass is visible, the XWiki installation is vulnerable (normally, all output should be contained in a script-tag and thus invisible).

Patches

The problem has been patched in XWiki 13.10.7, 14.5 and 14.4.2.

Workarounds

The patch can be manually applied by editing IconThemesCode.IconPickerMacro in the object editor. The whole document can also be replaced by the current version by importing the document from the XAR archive of a fixed version as the only changes to the document have been security fixes and small formatting changes.

References

For more information

If you have any questions or comments about this advisory:

References

@surli surli published to xwiki/xwiki-platform Nov 21, 2022
Published to the GitHub Advisory Database Nov 21, 2022
Reviewed Nov 21, 2022
Published by the National Vulnerability Database Nov 23, 2022
Last updated Feb 3, 2023

Severity

Critical
10.0
/ 10

CVSS base metrics

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

Weaknesses

CVE ID

CVE-2022-41931

GHSA ID

GHSA-5j7g-cf6r-g2h7

Source code

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