GHSA-7654-vfh6-rw6x

Suggest an improvement
Source
https://github.com/advisories/GHSA-7654-vfh6-rw6x
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/12/GHSA-7654-vfh6-rw6x/GHSA-7654-vfh6-rw6x.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-7654-vfh6-rw6x
Aliases
Published
2023-12-16T00:35:25Z
Modified
2023-12-16T00:56:33.625365Z
Severity
  • 9.9 (Critical) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H CVSS Calculator
Summary
Remote code execution from account through SearchAdmin
Details

Impact

The search administration interface doesn't properly escape the id and label of search user interface extensions, allowing the injection of XWiki syntax containing script macros including Groovy macros that allow remote code execution, impacting the confidentiality, integrity and availability of the whole XWiki instance. This attack can be executed by any user who can edit some wiki page like the user's profile (editable by default) as user interface extensions that will be displayed in the search administration can be added on any document by any user.

To reproduce, edit any document with the object editor, add an object of type XWiki.UIExtensionClass, set "Extension Point Id" to org.xwiki.platform.search, set "Extension ID" to {{async}}{{groovy}}services.logging.getLogger("attacker").error("Attack from extension id succeeded!"){{/groovy}}{{/async}}, set "Extension Parameters" to label={{async}}{{groovy}}services.logging.getLogger("attacker").error("Attack from label succeeded!"){{/groovy}}{{/async}} and "Extension Scope" to "Current User". Then open the page XWiki.SearchAdmin, e.g., on http://localhost:8080/xwiki/bin/view/XWiki/SearchAdmin. If there are error log messages in XWiki's log that announce that attacks succeeded, the instance is vulnerable.

Patches

The necessary escaping has been added in XWiki 14.10.15, 15.5.2 and 15.7RC1.

Workarounds

The patch can be manually applied to the page XWiki.SearchAdmin.

References

  • https://github.com/xwiki/xwiki-platform/commit/62863736d78ffd60d822279c5fb7fb9593042766
  • https://jira.xwiki.org/browse/XWIKI-21200
Database specific
{
    "nvd_published_at": "2023-12-15T19:15:09Z",
    "cwe_ids": [
        "CWE-94"
    ],
    "severity": "CRITICAL",
    "github_reviewed": true,
    "github_reviewed_at": "2023-12-16T00:35:25Z"
}
References

Affected packages

Maven / org.xwiki.platform:xwiki-platform-search-ui

Package

Name
org.xwiki.platform:xwiki-platform-search-ui
View open source insights on deps.dev
Purl
pkg:maven/org.xwiki.platform/xwiki-platform-search-ui

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.5-rc-1
Fixed
14.10.15

Maven / org.xwiki.platform:xwiki-platform-search-ui

Package

Name
org.xwiki.platform:xwiki-platform-search-ui
View open source insights on deps.dev
Purl
pkg:maven/org.xwiki.platform/xwiki-platform-search-ui

Affected ranges

Type
ECOSYSTEM
Events
Introduced
15.0-rc-1
Fixed
15.5.2

Maven / org.xwiki.platform:xwiki-platform-search-ui

Package

Name
org.xwiki.platform:xwiki-platform-search-ui
View open source insights on deps.dev
Purl
pkg:maven/org.xwiki.platform/xwiki-platform-search-ui

Affected ranges

Type
ECOSYSTEM
Events
Introduced
15.6-rc-1
Fixed
15.7-rc-1