CVE-2023-44310

9.0 CRITICAL

📋 TL;DR

A stored cross-site scripting (XSS) vulnerability in Liferay Portal and DXP allows attackers to inject malicious scripts into page names. When users view affected pages, the scripts execute in their browsers, potentially stealing credentials or performing unauthorized actions. This affects Liferay Portal 7.3.6-7.4.3.78 and Liferay DXP 7.3 fix pack 1-update 23 and 7.4 before update 79.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.3.6 through 7.4.3.78; Liferay DXP 7.3 fix pack 1 through update 23, and 7.4 before update 79
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects systems with page editing functionality enabled; requires attacker to have page editing permissions or exploit another vulnerability first.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, hijack user sessions, deface websites, or redirect users to malicious sites, potentially leading to complete system compromise.

🟠

Likely Case

Attackers steal user session cookies or credentials, perform actions as authenticated users, or deface website content.

🟢

If Mitigated

With proper input validation and output encoding, malicious scripts are neutralized before execution, preventing exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires page editing access; could be combined with other vulnerabilities for unauthenticated attacks.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.79+, Liferay DXP 7.4 update 79+, Liferay DXP 7.3 update 24+

Vendor Advisory: https://liferay.dev/portal/security/known-vulnerabilities/-/asset_publisher/jekt/content/cve-2023-44310

Restart Required: Yes

Instructions:

1. Download appropriate patch from Liferay customer portal. 2. Apply patch following Liferay's patching procedures. 3. Restart Liferay instance. 4. Verify fix by checking version.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement custom input validation to sanitize page name fields

Implement servlet filter or hook to sanitize 'name' parameter in page creation/editing requests

Output Encoding

all

Apply output encoding to page name display in templates

Use Liferay's escape methods: HtmlUtil.escape(name) in JSPs or FreeMarker templates

🧯 If You Can't Patch

  • Restrict page editing permissions to trusted administrators only
  • Implement web application firewall (WAF) rules to block XSS payloads in page name parameters

🔍 How to Verify

Check if Vulnerable:

Check Liferay version via Control Panel → Configuration → Server Administration → System Information

Check Version:

Check via Liferay UI or examine liferay.home/version.properties file

Verify Fix Applied:

Verify version is patched (7.4.3.79+ for Portal, 7.4 update 79+ or 7.3 update 24+ for DXP) and test page name field with XSS payloads

📡 Detection & Monitoring

Log Indicators:

  • Unusual page creation/modification events
  • Requests with script tags in 'name' parameter
  • Multiple failed XSS attempts

Network Indicators:

  • HTTP requests containing script tags in page name parameters
  • Unusual traffic to page editing endpoints

SIEM Query:

source="liferay" AND (message="*<script>*" OR message="*javascript:*") AND (uri="*/page/update*" OR uri="*/page/add*")

🔗 References

📤 Share & Export