CVE-2023-47797

9.6 CRITICAL

📋 TL;DR

This reflected cross-site scripting (XSS) vulnerability in Liferay Portal allows remote attackers to inject malicious scripts or HTML via the p_l_back_url_title parameter on content edit pages. Successful exploitation could lead to session hijacking, credential theft, or unauthorized actions. Organizations running affected Liferay Portal versions are at risk.

💻 Affected Systems

Products:
  • Liferay Portal
Versions: 7.4.3.94 through 7.4.3.95
Operating Systems: All platforms running Liferay Portal
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects content page edit functionality; requires attacker to lure authenticated users to malicious links.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, hijack user sessions, perform unauthorized content modifications, or redirect users to malicious sites, potentially leading to complete system compromise.

🟠

Likely Case

Attackers would typically use this to steal session cookies or credentials from authenticated users, enabling account takeover and privilege escalation within the portal.

🟢

If Mitigated

With proper input validation and output encoding, the malicious payload would be neutralized, preventing script execution while maintaining normal portal functionality.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires social engineering to trick authenticated users into clicking malicious links; no authentication bypass needed for the XSS itself.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 7.4.3.96 and later

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

Restart Required: Yes

Instructions:

1. Download Liferay Portal 7.4.3.96 or later from official sources. 2. Backup current installation and data. 3. Stop Liferay service. 4. Replace with patched version. 5. Restart Liferay service. 6. Verify functionality.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement a servlet filter to sanitize p_l_back_url_title parameter values

Implement custom filter in Liferay to strip/encode script tags from p_l_back_url_title parameter

Content Security Policy

all

Implement strict CSP headers to prevent script execution from untrusted sources

Add 'Content-Security-Policy: script-src 'self'' to HTTP headers

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block XSS payloads in p_l_back_url_title parameter
  • Disable or restrict access to content edit pages for non-essential users

🔍 How to Verify

Check if Vulnerable:

Test by attempting to inject script payload into p_l_back_url_title parameter on content edit pages and checking if it executes

Check Version:

Check Liferay Control Panel → Server Administration → Properties → liferay.version

Verify Fix Applied:

After patching, attempt same XSS payload injection; script should not execute and should be properly encoded in output

📡 Detection & Monitoring

Log Indicators:

  • Unusual length or pattern in p_l_back_url_title parameter values
  • Multiple failed login attempts following suspicious URL access

Network Indicators:

  • HTTP requests containing script tags or JavaScript in p_l_back_url_title parameter
  • Unusual redirect patterns from content edit pages

SIEM Query:

http.uri_param contains "p_l_back_url_title" AND (http.uri_param contains "<script>" OR http.uri_param contains "javascript:")

🔗 References

📤 Share & Export