CVE-2025-43807

5.4 MEDIUM

📋 TL;DR

A stored cross-site scripting (XSS) vulnerability in Liferay Portal and DXP allows attackers to inject malicious scripts into the notifications widget via the publication 'Name' field. This affects Liferay Portal 7.4.0-7.4.3.112 and Liferay DXP 2023.Q4.0-2023.Q4.8, 2023.Q3.1-2023.Q3.10, and 7.4 GA-update 92. Attackers can execute arbitrary JavaScript in victims' browsers when they view the compromised notifications.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.4.0 through 7.4.3.112; Liferay DXP 2023.Q4.0 through 2023.Q4.8, 2023.Q3.1 through 2023.Q3.10, and 7.4 GA through update 92
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default configurations; exploitation requires access to create or modify publications.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or install malware via drive-by downloads.

🟠

Likely Case

Session hijacking, credential theft, or defacement of the notifications widget content.

🟢

If Mitigated

Limited impact if proper input validation and output encoding are enforced, though stored XSS remains a persistent threat.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access to inject payload; stored nature increases impact as it affects all users viewing the widget.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.113 or later; Liferay DXP 2023.Q4.9 or later, 2023.Q3.11 or later, or 7.4 update 93 or later

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

Restart Required: No

Instructions:

1. Download the latest patch from Liferay's customer portal. 2. Apply the patch according to Liferay's update documentation. 3. Verify the fix by testing the notifications widget.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement server-side validation to reject or sanitize HTML/script input in the publication 'Name' field.

Content Security Policy (CSP)

all

Deploy a strict CSP header to mitigate XSS impact by restricting script execution sources.

🧯 If You Can't Patch

  • Restrict user permissions to prevent unauthorized users from creating or modifying publications.
  • Monitor and audit logs for suspicious activity related to publication name changes.

🔍 How to Verify

Check if Vulnerable:

Check Liferay version via Control Panel > Server Administration > Properties; look for version in affected ranges.

Check Version:

In Liferay, navigate to Control Panel > Server Administration > Properties and check 'liferay.version' property.

Verify Fix Applied:

After patching, attempt to inject a test XSS payload (e.g., <script>alert('test')</script>) into a publication 'Name' field and verify it is sanitized or blocked.

📡 Detection & Monitoring

Log Indicators:

  • Unusual modifications to publication names containing script tags or encoded payloads in audit logs.

Network Indicators:

  • HTTP requests with suspicious strings in publication name parameters.

SIEM Query:

source="liferay_logs" AND (message:"publication" AND message:"name" AND (message:"<script>" OR message:"javascript:"))

🔗 References

📤 Share & Export