CVE-2024-11993

6.1 MEDIUM

📋 TL;DR

A reflected cross-site scripting (XSS) vulnerability in Liferay Portal and DXP allows attackers to inject malicious scripts via the Dispatch name field. When exploited, this can lead to session hijacking, credential theft, or redirection to malicious sites. Affected users include anyone running vulnerable versions of Liferay Portal 7.4.0-7.4.3.38 or Liferay DXP 7.4 GA through update 38.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.4.0 through 7.4.3.38, Liferay DXP 7.4 GA through update 38
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the Dispatch name field handling. No special configuration is required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, hijack user sessions, redirect users to phishing sites, or perform actions on behalf of authenticated users.

🟠

Likely Case

Attackers craft malicious links containing XSS payloads that execute when clicked by victims, potentially stealing session cookies or performing limited unauthorized actions.

🟢

If Mitigated

With proper input validation and output encoding, the attack would fail to execute scripts, limiting impact to failed exploitation attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Reflected XSS typically requires user interaction (clicking a malicious link). No authentication is needed to exploit this vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.39+, Liferay DXP update 39+

Vendor Advisory: https://liferay.dev/portal/security/known-vulnerabilities/-/asset_publisher/jekt/content/CVE-2024-11993

Restart Required: Yes

Instructions:

1. Download the latest patch from Liferay's customer portal. 2. Apply the patch according to Liferay's patching documentation. 3. Restart the Liferay server. 4. Verify the fix by checking the version.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement a servlet filter to sanitize Dispatch name field inputs by removing or encoding special characters.

Implement custom servlet filter in Liferay to sanitize 'name' parameter in dispatch requests

Web Application Firewall (WAF)

all

Configure WAF rules to block requests containing XSS patterns in the Dispatch name parameter.

Add WAF rule: Block requests with suspicious patterns in 'name' parameter (e.g., <script>, javascript:, onload=)

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to prevent script execution from untrusted sources.
  • Deploy a web application firewall (WAF) with XSS protection rules enabled.

🔍 How to Verify

Check if Vulnerable:

Test by injecting a simple XSS payload into the Dispatch name field and checking if it executes. Example: <script>alert('test')</script>

Check Version:

Check Liferay version via Control Panel → Server Administration → System Information, or via Liferay's API endpoints.

Verify Fix Applied:

After patching, attempt the same XSS payload injection. The payload should be properly encoded and not execute.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests containing suspicious patterns in 'name' parameter (e.g., script tags, javascript: URIs)
  • Unusual error logs related to dispatch request processing

Network Indicators:

  • HTTP requests with encoded XSS payloads in query parameters
  • Traffic patterns showing repeated attempts with different payloads

SIEM Query:

source="liferay.log" AND ("name=<script>" OR "name=javascript:" OR "name=onload=")

🔗 References

📤 Share & Export