CVE-2025-43791

6.1 MEDIUM

📋 TL;DR

This CVE describes multiple cross-site scripting (XSS) vulnerabilities in Liferay Portal and DXP that allow remote attackers to inject malicious scripts or HTML into rich text fields. Attackers can exploit these vulnerabilities to steal session cookies, redirect users to malicious sites, or perform actions on behalf of authenticated users. Organizations using affected Liferay versions with rich text fields in web content, documents, or custom assets are vulnerable.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.3.0 through 7.4.3.111; Liferay DXP 2023.Q4.0, 2023.Q3.1 through 2023.Q3.4, 7.4 GA through update 92, 7.3 GA through update 36
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability affects systems with rich text fields in web content structures, Documents and Media Document Types, or custom assets using Data Engine's Rich Text field module.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, gain administrative access to the portal, exfiltrate sensitive data, or deploy malware to users' browsers.

🟠

Likely Case

Attackers steal user session cookies to hijack accounts, perform unauthorized actions, or redirect users to phishing sites.

🟢

If Mitigated

With proper input validation and output encoding, the impact is limited to minor UI disruption without code execution.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires attacker to have access to create or edit content with rich text fields. No public exploit code is available as of analysis.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.112+ and 7.3.7+; Liferay DXP 2023.Q4.1+ and 2023.Q3.5+

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

Restart Required: No

Instructions:

1. Download the appropriate patch from Liferay's customer portal. 2. Apply the patch using Liferay's patching tool. 3. Verify the patch was applied successfully. 4. Test rich text field functionality.

🔧 Temporary Workarounds

Input Validation for Rich Text Fields

all

Implement server-side input validation to sanitize HTML and script content in rich text fields before processing.

Content Security Policy (CSP)

all

Implement strict CSP headers to prevent execution of injected scripts even if XSS payloads are successful.

🧯 If You Can't Patch

  • Disable rich text editing for untrusted users or restrict to trusted administrators only.
  • Implement web application firewall (WAF) rules to block XSS payload patterns in rich text submissions.

🔍 How to Verify

Check if Vulnerable:

Check Liferay version via Control Panel > Configuration > Server Administration > System Information. Compare against affected versions.

Check Version:

Check via Liferay Control Panel or examine liferay-portal.xml version property.

Verify Fix Applied:

After patching, test rich text fields with basic XSS payloads like <script>alert('test')</script> to ensure they are properly sanitized.

📡 Detection & Monitoring

Log Indicators:

  • Unusual rich text field submissions containing script tags or JavaScript code
  • Multiple failed rich text submissions from single IP

Network Indicators:

  • HTTP POST requests to rich text endpoints with suspicious payloads
  • Outbound connections to external domains following rich text submissions

SIEM Query:

source="liferay" AND (message="*<script>*" OR message="*javascript:*") AND uri="*/rich-text/*"

🔗 References

📤 Share & Export