Miggo Logo

CVE-2025-62265: Liferay Portal is vulnerable to XSS in the Blogs widget

N/A

CVSS Score

Basic Information

EPSS Score
0.36408%
Published
10/30/2025
Updated
10/31/2025
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
-
Package NameEcosystemVulnerable VersionsFirst Patched Version
com.liferay.portal:release.portal.bommaven>= 7.4.0-ga1, < 7.4.3.112-ga1127.4.3.112-ga112

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability is a cross-site scripting (XSS) issue in the Blogs widget of Liferay Portal, caused by the lack of a sandbox attribute on <iframe> elements in blog entries. This allows malicious scripts within an <iframe> to interact with the parent page, leading to potential security risks.

The analysis of the provided commit 8cbe1eec144d48d20d2752ed99a0cad78656f74b reveals the introduction of a new module, portal-security-iframe-sanitizer. This module contains the class IFrameSanitizerImpl, which implements the Sanitizer interface. The key method in this class is sanitize, which is responsible for processing and cleaning user-provided content.

The initial version of the sanitize method, as seen in the patch, simply returns the content without any modification. This indicates that, prior to the fix, there was no sanitization logic to add the sandbox attribute to <iframe> tags. An attacker could exploit this by injecting a crafted <iframe> into a blog post, which would then be rendered without the necessary security restrictions.

The vulnerable function is therefore com.liferay.portal.security.iframe.sanitizer.internal.IFrameSanitizerImpl.sanitize. During runtime, when a blog entry is rendered, this function would be called to process the content. In its vulnerable state, it would fail to add the sandbox attribute, allowing the XSS payload to execute.

Vulnerable functions

com.liferay.portal.security.iframe.sanitizer.internal.IFrameSanitizerImpl.sanitize
modules/apps/portal-security/portal-security-iframe-sanitizer/src/main/java/com/liferay/portal/security/iframe/sanitizer/internal/IFrameSanitizerImpl.java
The vulnerability lies in the `sanitize` method, which is responsible for cleaning user-provided content. The initial implementation of this method in `IFrameSanitizerImpl` simply returns the content without any sanitization, as shown in the patch evidence. This allows malicious `<iframe>` tags to be injected into blog entries without the necessary `sandbox` attribute, leading to a cross-site scripting (XSS) vulnerability.

WAF Protection Rules

WAF Rule

*ross-sit* s*riptin* (XSS) vuln*r**ility in t** *lo*s wi***t in Li**r*y Port*l *.*.* t*rou** *.*.*.***, *n* ol**r unsupport** v*rsions, *n* Li**r*y *XP ****.Q*.* t*rou** ****.Q*.**, ****.Q*.* t*rou** ****.Q*.*, *.* ** t*rou** up**t* **, *.* ** t*rou*

Reasoning

T** vuln*r**ility is * *ross-sit* s*riptin* (XSS) issu* in t** *lo*s wi***t o* Li**r*y Port*l, **us** *y t** l**k o* * `s*n**ox` *ttri*ut* on `<i*r*m*>` *l*m*nts in *lo* *ntri*s. T*is *llows m*li*ious s*ripts wit*in *n `<i*r*m*>` to int*r**t wit* t**
CVE-2025-62265: Liferay Blogs Widget iframe XSS | Miggo