CVE-2025-43800

6.1 MEDIUM

📋 TL;DR

This cross-site scripting (XSS) vulnerability in Liferay Portal and DXP allows remote attackers to inject malicious scripts or HTML into rich text fields. When exploited, it can enable session hijacking, credential theft, or content manipulation. Affected users include anyone using vulnerable versions of Liferay Portal 7.4.3.20-7.4.3.111 or Liferay DXP 2023.Q4.0, 2023.Q3.1-2023.Q3.4, and 7.4 GA through update 92.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.4.3.20 through 7.4.3.111; Liferay DXP 2023.Q4.0, 2023.Q3.1 through 2023.Q3.4, and 7.4 GA through update 92
Operating Systems: All platforms running Liferay
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in rich text type fields within objects. Any instance with these fields accessible to users is vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete account takeover, administrative privilege escalation, data exfiltration, and persistent malware deployment across user sessions.

🟠

Likely Case

Session hijacking, credential theft, defacement of content, and limited data manipulation by authenticated users.

🟢

If Mitigated

Minimal impact with proper input validation, output encoding, and Content Security Policy (CSP) headers in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires crafting specific payloads for rich text fields. Attackers need some level of access to input fields.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.112+; Liferay DXP 2023.Q4.1+, 2023.Q3.5+, update 93+

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

Restart Required: No

Instructions:

1. Backup your Liferay instance. 2. Download the appropriate patch from Liferay's customer portal. 3. Apply the patch following Liferay's patch installation guide. 4. Verify the patch was applied successfully.

🔧 Temporary Workarounds

Input Validation and Output Encoding

all

Implement strict input validation and output encoding for all rich text fields to prevent script injection.

Content Security Policy (CSP)

all

Deploy a strict Content Security Policy header to mitigate XSS impact by restricting script execution sources.

🧯 If You Can't Patch

  • Disable or restrict access to rich text fields in objects for untrusted users
  • Implement web application firewall (WAF) rules to block XSS payload patterns

🔍 How to Verify

Check if Vulnerable:

Check your Liferay version against affected versions. Test rich text fields for XSS by attempting to inject basic script payloads.

Check Version:

Check Liferay Control Panel → Configuration → Server Administration → System Information for version details

Verify Fix Applied:

After patching, verify the version is updated and test that script injection attempts in rich text fields are properly sanitized.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to object endpoints with script-like content
  • Multiple failed rich text field submissions with special characters

Network Indicators:

  • HTTP requests containing script tags or JavaScript in rich text field parameters

SIEM Query:

source="liferay.log" AND ("script" OR "javascript" OR "onerror" OR "onload") AND uri_path="/api/jsonws/object*"/

🔗 References

📤 Share & Export