OpenAM 9 / 10 Cross Site Scripting

2016-02-24T00:00:00
ID PACKETSTORM:135924
Type packetstorm
Reporter Stephan Sekula
Modified 2016-02-24T00:00:00

Description

                                        
                                            `#############################################################  
#  
# COMPASS SECURITY ADVISORY http://www.csnc.ch/en/downloads/advisories.html  
#############################################################  
#  
# CSNC ID: CSNC-2016-001  
# Product: OpenAM [1]  
# Vendor: ForgeRock  
# Subject: Cross-Site Scripting - XSS  
# Risk: High  
# Effect: Remotely exploitable  
# Author: Stephan Sekula (stephan.sekula@csnc.de)  
# Date: February 23rd 2016  
#  
#############################################################  
  
  
Introduction:  
-------------  
OpenAM provides core identity services to simplify the implementation of  
transparent single sign-on (SSO) as a security component in a network  
infrastructure. OpenAM provides the foundation for integrating diverse  
web applications that might typically operate against a disparate set of  
identity repositories and are hosted on a variety of platforms such as  
web and application servers. [1]  
  
Compass Security discovered a web application security flaw in the OpenAM  
application which allows an attacker to manipulate the resulting website.  
This allows, for instance, stealing of user sessions, attacking the user's  
browser or redirecting the user to a Phishing website. Since it is the  
victim who needs to visit the malicious link, this attack is possible for  
unauthenticated attackers who do not have access to the affected websites.  
  
  
Affected Versions:  
------------------  
The following OpenAM versions are vulnerable:  
- 9-9.5.5  
- 10.0.0-10.0.2  
- 10.1.0-Xpress  
- 11.0.0-11.0.3  
- 12.0.0-12.0.2  
  
OpenAM version 13.0.0 is not vulnerable.  
  
  
Patches:  
--------  
OpenAM released patches for each affected version as part of OpenAM  
Security Advisory #201601 [2].  
  
  
Technical Description:  
----------------------  
OpenAM provides a blacklist mechanism that allows specifying dangerous  
input. If user input is part of this blacklist, the user should be  
redirected to an error page. However, this mechanism is not implemented  
in page exportmetadata.jsp. Exploiting the vulnerability will lead to  
so-called Cross-Site Scripting (XSS), allowing the execution of  
JavaScript in the context of the victim and thus the impersonation of  
logged-in OpenAM users:  
https://<URL>/.../exportmetadata.jsp?entityid=sp&realm="<script>alert(0)</script>  
  
Response:  
ERROR : Unable to read configuration of component "SAML2" for realm  
""<script>alert(0)</script>".  
  
Furthermore, a blacklist approach bears the risk of missing malicious input.  
  
  
Milestones:  
-----------  
2015-12-16: Vulnerability discovered  
2016-01-04: Vendor notified  
2016-02-05: Vendor provided patched version  
2016-02-23: Public disclosure  
  
  
References:  
-----------  
[1] http://openam.forgerock.org/  
[2] https://forgerock.org/2016/02/openam-security-advisory-201601/  
`