CVE-2023-29205

9.9 CRITICAL

📋 TL;DR

This vulnerability allows any XWiki user to inject malicious scripts via the HTML macro, leading to cross-site scripting (XSS) attacks. It affects XWiki Commons libraries used across XWiki projects, and in standard configurations, any user can exploit it through their profile page. The risk is particularly high because it requires no special privileges.

💻 Affected Systems

Products:
  • XWiki Commons
  • XWiki Platform
Versions: Versions before XWiki 14.8RC1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Standard wiki configurations allow any user to use the HTML macro on their profile page, making exploitation trivial.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, deface pages, or redirect users to malicious sites, potentially leading to full account compromise.

🟠

Likely Case

Malicious users inject scripts to steal session tokens or credentials from other users viewing their profile, leading to unauthorized access.

🟢

If Mitigated

With proper input sanitization or patching, the HTML macro safely renders content without executing scripts, preventing XSS.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires user authentication but no special privileges; the vulnerability is straightforward to abuse.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: XWiki 14.8RC1 and later

Vendor Advisory: https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-vxf7-mx22-jr24

Restart Required: Yes

Instructions:

1. Backup your XWiki instance. 2. Upgrade to XWiki 14.8RC1 or later. 3. Restart the XWiki service. 4. Verify the patch is applied by checking the version.

🔧 Temporary Workarounds

Disable HTML Macro for Non-Trusted Users

all

Restrict use of the HTML macro to users with script rights or administrators only.

Edit XWiki configuration to set 'html' macro permissions via XWiki rights management.

Implement Input Sanitization Filter

all

Add a web application firewall (WAF) or custom filter to sanitize HTML macro inputs.

Configure WAF rules to block script tags in HTML macro content.

🧯 If You Can't Patch

  • Monitor user activity logs for suspicious HTML macro usage and investigate anomalies.
  • Educate users about the risks and discourage use of the HTML macro until patched.

🔍 How to Verify

Check if Vulnerable:

Check if your XWiki version is below 14.8RC1 by accessing the admin panel or running version check commands.

Check Version:

Check the XWiki admin interface or run: grep -i 'xwiki.version' in configuration files.

Verify Fix Applied:

After upgrading, test the HTML macro with script tags to ensure they are sanitized and not executed.

📡 Detection & Monitoring

Log Indicators:

  • Unusual HTML macro usage patterns, especially with script tags in user profiles.

Network Indicators:

  • HTTP requests containing script tags in parameters related to HTML macro.

SIEM Query:

Search for logs with 'html macro' and 'script' keywords in user activity or web server logs.

🔗 References

📤 Share & Export