CVE-2023-29209

9.9 CRITICAL

📋 TL;DR

CVE-2023-29209 is a critical remote code execution vulnerability in XWiki Commons that allows authenticated users with view rights to execute arbitrary Groovy, Python, or Velocity code via improperly escaped macro parameters in the legacy notification activity macro. This leads to full compromise of the XWiki installation. All XWiki instances with the default macro configuration are affected.

💻 Affected Systems

Products:
  • XWiki Commons
  • XWiki Platform
Versions: All versions before XWiki 13.10.11, 14.4.7, and 14.10
Operating Systems: All operating systems running XWiki
Default Config Vulnerable: ⚠️ Yes
Notes: The legacy notification activity macro is installed by default. Vulnerability can be exploited via any wiki page that is editable (including user profiles) or with just view rights using the HTMLConverter in CKEditor integration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise allowing attacker to execute arbitrary code, access/modify all data, install backdoors, and pivot to other systems.

🟠

Likely Case

Privilege escalation to administrative access, data exfiltration, and installation of persistent web shells.

🟢

If Mitigated

Limited impact if proper network segmentation and least privilege access controls are implemented, though code execution would still be possible.

🌐 Internet-Facing: HIGH - Exploitable by any authenticated user with view rights, making internet-facing instances extremely vulnerable.
🏢 Internal Only: HIGH - Even internal instances are vulnerable to insider threats or compromised accounts.

🎯 Exploit Status

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

Exploitation requires authenticated access with view rights. Public proof-of-concept exists in advisory references. The vulnerability is straightforward to exploit once authenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: XWiki 13.10.11, 14.4.7, or 14.10

Vendor Advisory: https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-9pc2-x9qf-7j2q

Restart Required: Yes

Instructions:

1. Identify your XWiki version. 2. Upgrade to XWiki 13.10.11, 14.4.7, or 14.10 depending on your current major version. 3. Restart the XWiki application server. 4. Verify the patch is applied by checking the version.

🔧 Temporary Workarounds

Disable legacy notification activity macro

all

Remove or disable the vulnerable macro to prevent exploitation

Navigate to XWiki Administration > Content > Macros > Legacy notification activity macro and disable it

Restrict user permissions

all

Temporarily restrict view/edit permissions on wiki pages

Modify page permissions in XWiki to limit access to trusted users only

🧯 If You Can't Patch

  • Implement strict network access controls to limit XWiki access to trusted users only
  • Enable detailed logging and monitoring for suspicious macro execution or code injection attempts

🔍 How to Verify

Check if Vulnerable:

Check if your XWiki version is below 13.10.11, 14.4.7, or 14.10 and if the legacy notification activity macro is enabled.

Check Version:

Check XWiki footer or Administration dashboard for version information

Verify Fix Applied:

Verify XWiki version is 13.10.11, 14.4.7, or 14.10 or higher. Test that macro parameter injection no longer executes arbitrary code.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Groovy/Python/Velocity code execution in macro contexts
  • Suspicious activity from user accounts with view-only permissions
  • Multiple failed macro execution attempts

Network Indicators:

  • Unusual outbound connections from XWiki server
  • Traffic patterns indicating data exfiltration

SIEM Query:

source="xwiki.log" AND ("Groovy execution" OR "Python execution" OR "Velocity execution") AND "notification activity macro"

🔗 References

📤 Share & Export