Apache MyFaces Tomahawk JSF Framework Cross-Site Scripting (XSS) Vulnerability I. BACKGROUND Java Server Faces, JSF, is a framework used to create server side GUI Web applications. It is comparable to the Java Struts framework. Apache MyFaces Tomahawk is an open source implementation of JSF. The Tomahawk version contains Apache extensions to the base specification. More information is available at the following URL. http://myfaces.apache.org/ II. DESCRIPTION Remote exploitation of an input validation vulnerability in Apache Software Foundation's MyFaces Tomahawk JSF framework could allow an attacker to perform a cross-site scripting (XSS) attack. The code responsible for parsing HTTP requests is vulnerable to an XSS vulnerability. When parsing the 'autoscroll' parameter from a POST or GET request, the value of this variable is directly inserted into JavaScript that is sent back to the client. This allows an attacker to run arbitrary JavaScript in the context of the affected domain of the MyFaces application being targeted. III. ANALYSIS Successful exploitation of this vulnerability allows an attacker to conduct an XSS attack on a user. This could allow an attacker to steal cookies, inject content into pages, or submit requests using the user's credentials. To exploit this vulnerability, an attacker must use social engineering techniques to persuade the user to click a link to a Web application that uses MyFaces Tomahawk. In the following example, the [javascript] portion of the request would be present unfiltered in the returned content. http://www.vulnerable.tld/some_app.jsf?autoscroll=[javascript] IV. DETECTION iDefense has confirmed the existence of this vulnerability in MyFaces Tomahawk version 1.1.5. Previous versions may also be affected. V. WORKAROUND iDefense is currently unaware of any workaround for this issue. VI. VENDOR RESPONSE The Apache Software Foundation MyFaces team has addressed this vulnerability by releasing version 1.1.6 of MyFaces Tomahawk. More information can be found at the following URL. http://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12312536 &styleName=Text&projectId=12310272 VII. CVE INFORMATION The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2007-3101 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems. VIII. DISCLOSURE TIMELINE 06/05/2007 Initial vendor notification 06/05/2007 Initial vendor response 06/14/2007 Coordinated public disclosure IX. CREDIT This vulnerability was reported to iDefense by Rajat Swarup of VeriSign Global Security Consulting. Get paid for vulnerability research http://labs.idefense.com/methodology/vulnerability/vcp.php Free tools, research and upcoming events http://labs.idefense.com/ X. LEGAL NOTICES Copyright ? 2007 iDefense, Inc. Permission is granted for the redistribution of this alert electronically. It may not be edited in any way without the express written consent of iDefense. If you wish to reprint the whole or any part of this alert in any other medium other than electronically, please e-mail customer service for permission. Disclaimer: The information in the advisory is believed to be accurate at the time of publishing based on currently available information. Use of the information constitutes acceptance for use in an AS IS condition. There are no warranties with regard to this information. Neither the author nor the publisher accepts any liability for any direct, indirect, or consequential loss or damage arising from use of, or reliance on, this information.