CVE-2025-43735

6.1 MEDIUM

📋 TL;DR

A reflected cross-site scripting (XSS) vulnerability in Liferay Portal and DXP allows remote unauthenticated attackers to inject malicious JavaScript via the google_gadget parameter. This affects users of Liferay Portal 7.4.0-7.4.3.131 and multiple Liferay DXP versions from 2024.Q1 through 2024.Q4. Attackers can execute arbitrary JavaScript in victims' browsers when they click malicious links.

💻 Affected Systems

Products:
  • Liferay Portal
  • Liferay DXP
Versions: Liferay Portal 7.4.0 through 7.4.3.131; Liferay DXP 2024.Q4.0 through 2024.Q4.7, 2024.Q3.1 through 2024.Q3.13, 2024.Q2.0 through 2024.Q2.13, 2024.Q1.1 through 2024.Q1.12, and 7.4 GA through update 92
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects default configurations; requires the google_gadget parameter to be accessible.

📦 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 affected page through injected content.

🟢

If Mitigated

Limited impact if proper input validation and output encoding are implemented, though the vulnerability still exists.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires user interaction (clicking a malicious link) but is straightforward for attackers with basic web skills.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Liferay Portal 7.4.3.132 or later; Liferay DXP 2024.Q4.8 or later, 2024.Q3.14 or later, 2024.Q2.14 or later, 2024.Q1.13 or later, and 7.4 update 93 or later

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

Restart Required: No

Instructions:

1. Download the latest patch from the Liferay customer portal. 2. Apply the patch according to Liferay's patching guide. 3. Verify the fix by testing the google_gadget parameter.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement a web application firewall (WAF) or custom filter to sanitize the google_gadget parameter by blocking or encoding script tags and JavaScript content.

🧯 If You Can't Patch

  • Disable or restrict access to the google_gadget feature if not required.
  • Implement Content Security Policy (CSP) headers to mitigate XSS impact by restricting script execution.

🔍 How to Verify

Check if Vulnerable:

Test by injecting a simple script payload into the google_gadget parameter (e.g., <script>alert('XSS')</script>) and check if it executes in the browser.

Check Version:

Check the Liferay version via the Control Panel under Server Administration → System Information, or run a database query if accessible.

Verify Fix Applied:

After patching, repeat the vulnerability test; the script should be properly encoded or blocked, and no alert should appear.

📡 Detection & Monitoring

Log Indicators:

  • Unusual requests to URLs containing the google_gadget parameter with script-like payloads in access logs.

Network Indicators:

  • HTTP requests with suspicious parameters (e.g., containing <script> tags) to Liferay endpoints.

SIEM Query:

source="liferay_access_logs" AND uri="*google_gadget*" AND (payload="*<script>*" OR payload="*javascript:*")

🔗 References

📤 Share & Export