CVE-2025-43734: Liferay Portal 7.4.0 and Liferay DXP have a reflected cross-site scripting (XSS) vulnerability
N/A
Basic Information
Technical Details
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| com.liferay.portal:release.portal.bom | maven | >= 7.4.0, <= 7.4.3.132 | |
| com.liferay.portal:release.dxp.bom | maven | >= 2024.q4.0, <= 2024.q4.7 | |
| com.liferay.portal:release.dxp.bom | maven | >= 2024.q3.0, <= 2024.q3.13 | |
| com.liferay.portal:release.dxp.bom | maven | >= 2024.q2.0, <= 2024.q2.13 | |
| com.liferay.portal:release.dxp.bom | maven | >= 2024.q1.0, <= 2024.q1.16 | 2024.q1.17 |
| com.liferay.portal:release.dxp.bom | maven | >= 2025.q1.0, <= 2025.q1.10 | 2025.q1.11 |
| com.liferay.portal:release.dxp.bom | maven | <= 7.4.13.u92 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability exists in the ButtonTag.java file, specifically within the writeLabel method. The vulnerability description highlights that a malicious payload injected into the 'first display label' field of a custom sort widget is executed by the clay button taglib. The provided commit patch confirms this. The patch modifies the writeLabel method to include HTML escaping using HtmlUtil.escape() on the _label variable before it is written to the page. This prevents the browser from interpreting any injected script as executable code. The vulnerable function, com.liferay.frontend.taglib.clay.servlet.taglib.ButtonTag.writeLabel, is therefore the key indicator of this vulnerability in a runtime profile, as it's the exact location where the unsanitized user input is rendered.