Liferay CE < 6.2 CE GA6 - Persistent Cross-Site Scripting

ID 1337DAY-ID-25064
Type zdt
Reporter Fernando Câmara
Modified 2016-06-02T00:00:00


Exploit for php platform in category web applications

                                            CVE-2016-3670 Stored Cross Site Scripting in Liferay CE
1. Vulnerability Properties
Title: Stored Cross-Site Scripting Liferay CE
CVE ID: CVE-2016-3670
CVSSv3 Base Score: 4.6 (AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N)
Vendor: Liferay Inc
Products: Liferay
Advisory Release Date: 27 May 2016
Advisory URL:
Credits: Discovery by Fernando Câmara <fbc[at]>
2. Vulnerability Summary
Liferay is vulnerable to a stored XSS when an user is created with an
malicious payload on the FirstName field.
The javascript payload is executed when another user tries to use the
profile search section.
3. Technical Details
An XSS vulnerability was found on the Profile Search functionality,
accessible through User -> My Profile -> Search.  An attacker can set a
malicious javascript payload on his  First Name affecting anyone who
performs a search using a keyword present on his profile.
The exploitation of this vulnerability could lead to an effective way to
grab cookies (stealing sessions) from anyone that uses that search
Exploitation Request: (User Registration with an malicious FirstName field)
POST /liferay/web/guest/home?p_p_id=58&p_p_lifecycle=1&p_p_state=
The vulnerability is located on the users.jsp and as shown below the origin
is the lack of validation of user input:
line 64: <a data-value=”<%= curUserName %>” href=”javascript:;”>
4. Vulnerable Versions
< 6.2 CE GA6
5. Solution
Update to version 7.0.0 CE RC1
6. Vulnerability Timeline
    21/Jan/16 - Bug reported to Liferay
    22/Mar/16 – Bug verified by vendor
    22/Mar/16 – Bug fixed by vendor
    27/May/16 – Advisory released
7. References

# [2018-01-10]  #