CVE-2023-27479

9.9 CRITICAL

📋 TL;DR

CVE-2023-27479 is a critical remote code execution vulnerability in XWiki Platform where any user with view rights can execute arbitrary Groovy, Python, or Velocity code due to improper escaping of UIX parameters. This allows attackers to gain full administrative access to the XWiki installation. All XWiki installations with affected versions are vulnerable.

💻 Affected Systems

Products:
  • XWiki Platform
Versions: All versions before 13.10.11, 14.4.7, and 14.10-rc-1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Any XWiki installation with the affected versions is vulnerable by default. The vulnerability requires view rights, which most users have.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the XWiki installation, allowing attackers to execute arbitrary code, access/modify all data, create backdoors, and potentially pivot to other systems.

🟠

Likely Case

Attackers with basic user accounts gain administrative privileges and execute arbitrary code to steal sensitive data, modify content, or disrupt operations.

🟢

If Mitigated

With proper network segmentation and least privilege access, impact could be limited to the XWiki instance itself.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploit requires authenticated user with view rights. Proof of concept is publicly available in the advisory.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: XWiki 13.10.11, 14.4.7, or 14.10-rc-1 and later

Vendor Advisory: https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-qxjg-jhgw-qhrv

Restart Required: Yes

Instructions:

1. Backup your XWiki installation. 2. Upgrade to XWiki 13.10.11, 14.4.7, or 14.10-rc-1 or later. 3. Restart the XWiki service. 4. Verify the fix by checking the version and testing the exploit.

🔧 Temporary Workarounds

Manual patch application

all

Apply the same modifications as shown in commit 6de5442f3c to the PanelsCode.ApplicationsPanelConfigurationSheet wiki page

Edit the PanelsCode.ApplicationsPanelConfigurationSheet wiki page and apply the escaping fixes from commit 6de5442f3c

🧯 If You Can't Patch

  • Restrict user view rights to only trusted administrators
  • Implement network segmentation to isolate XWiki from critical systems

🔍 How to Verify

Check if Vulnerable:

Log in as a user with view rights, add the XWiki.UIExtensionClass xobject with the exploit payload to user profile, then navigate to /xwiki/bin/view/PanelsCode/ApplicationsPanelConfigurationSheet. If 'Hello from groovy!' appears, the system is vulnerable.

Check Version:

Check XWiki version in administration panel or via xwiki.cfg file

Verify Fix Applied:

After patching, repeat the vulnerability check. The Groovy script should not execute and no code output should appear.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Groovy/Python/Velocity code execution in logs
  • Modifications to PanelsCode.ApplicationsPanelConfigurationSheet
  • Unauthorized access to administrative functions

Network Indicators:

  • Requests to /xwiki/bin/view/PanelsCode/ApplicationsPanelConfigurationSheet with suspicious parameters
  • Unusual outbound connections from XWiki server

SIEM Query:

source="xwiki.log" AND ("groovy" OR "python" OR "velocity") AND "execution"

🔗 References

📤 Share & Export