CVE-2022-23622

7.4 HIGH

📋 TL;DR

This is a cross-site scripting (XSS) vulnerability in XWiki Platform that allows attackers to inject malicious scripts via the xredirect parameter in the registration template. It affects XWiki instances with open registration and restricted guest viewing rights. Successful exploitation could lead to session hijacking or credential theft.

💻 Affected Systems

Products:
  • XWiki Platform
Versions: Versions before 12.10.11, 13.4.7, 13.10.3, and 14.0-rc-1
Operating Systems: All
Default Config Vulnerable: ✅ No
Notes: Requires two specific conditions: 1) Open registration enabled, 2) Guest viewing restricted or 'Prevent unregistered users from viewing pages' checked in administration rights.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator or user session cookies, perform actions as authenticated users, or redirect users to malicious sites.

🟠

Likely Case

Session hijacking of regular users, credential theft through phishing, or defacement of registration pages.

🟢

If Mitigated

No impact if proper input validation is implemented or vulnerable configuration is avoided.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires specific configuration but is straightforward once conditions are met. No public exploit code found in references.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 12.10.11, 13.4.7, 13.10.3, or 14.0-rc-1 and later

Vendor Advisory: https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-gx6h-936c-vrrr

Restart Required: Yes

Instructions:

1. Upgrade to patched version. 2. Restart XWiki service. 3. Verify patch applied by checking registerinline.vm template contains proper escaping: <input type="hidden" name="xredirect" value="$escapetool.xml($!request.xredirect)" />

🔧 Temporary Workarounds

Manual template patch

all

Apply the escaping fix directly to registerinline.vm template file

Edit registerinline.vm and replace xredirect line with: <input type="hidden" name="xredirect" value="$escapetool.xml($!request.xredirect)" />

🧯 If You Can't Patch

  • Disable open registration for anyone
  • Uncheck 'Prevent unregistered users from viewing pages' in administration rights and implement granular space/group permissions instead

🔍 How to Verify

Check if Vulnerable:

Check if XWiki version is vulnerable AND open registration is enabled AND guest viewing is restricted

Check Version:

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

Verify Fix Applied:

Verify registerinline.vm contains proper escaping: grep -n 'xredirect' registerinline.vm | grep 'escapetool.xml'

📡 Detection & Monitoring

Log Indicators:

  • Unusual registration attempts with long or encoded xredirect parameters
  • JavaScript execution errors in registration logs

Network Indicators:

  • Malicious script payloads in registration POST requests to /xwiki/bin/registerinline

SIEM Query:

web_access_logs WHERE url_path CONTAINS '/registerinline' AND parameters CONTAINS 'xredirect=' AND (parameters CONTAINS '<script' OR parameters CONTAINS 'javascript:')

🔗 References

📤 Share & Export