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

R7-0031: JFreeChart Image Map Cross-Site Scripting Vulnerabilities



_______________________________________________________________________
                        Rapid7 Security Advisory
            Visit http://www.rapid7.com/ to download NeXpose,
        SC Magazine Winner of Best Vulnerability Management product.
_______________________________________________________________________

Rapid7 Advisory R7-0031
JFreeChart Image Map Cross-Site Scripting Vulnerabilities

   Published:  Dec 06, 2007
   Revision:   1.0
   http://www.rapid7.com/advisories/R7-0031.jsp

1. Affected system(s):

   KNOWN VULNERABLE:
    o JFreeChart 1.0.8

   KNOWN FIXED:
    o JFreeChart 1.0.8 branch "jfreechart-1.0.8-security"

2. Summary

   JFreeChart is a popular Java-based chart library used to generate
   charts and graphs of data.  The library includes support for
   generating HTML image maps, which allow for enhanced interaction of
   the chart via hyperlinks bound to shapes specified by coordinates.

   Multiple cross-site scripting vulnerabilities exist within the
   image map support functionality of JFreeChart which may allow an
   attacker to inject arbitrary HTML or JavaScript into any product
   or website which uses the library.

3. Vendor status and information

   JFreeChart Project
   http://sourceforge.net/projects/jfreechart/

   The JFreeChart project was notified of this vulnerability on
   November 28th, 2007 via their online bug tracking system.  The
   vulnerability was fixed on December 6th 2007 with a commit
   to their SVN repository.

4. Solution

   Upgrade to JFreeChart SVN repository revision 682
   using branch "jfreechart-1.0.8-security".
 
   See http://jfreechart.svn.sourceforge.net/viewvc/jfreechart/
   for details.

5. Detailed analysis

   JFreeChart fails to properly escape the following properties of the
   generated image map:

      o The chart name.
      o The chart tool tip text.
      o The href attribute for a chart area.
      o The shape attribute for a chart area.
      o The coords attribute for a chart area.

   It is possible to inject custom HTML code into the code generated by
   the JFreeChart library.  If a web server uses this library to generate
   charts from user-supplied data, an attacker could cause other users of
   the same website or application to execute arbitrary JavaScript code
   when viewing a page containing a chart.

6. Credit

   Discovered by Chad Loder of Rapid7.

7. Contact Information

   Rapid7, LLC
   Email: advisory@xxxxxxxxxx
   Web: http://www.rapid7.com
   Phone: +1 (617) 247-1717

8. Disclaimer and Copyright

   Rapid7, LLC is not responsible for the misuse of the information
   provided in our security advisories. These advisories are a service
   to the professional security community. There are NO WARRANTIES with
   regard to this information. Any application or distribution of this
   information constitutes acceptance AS IS, at the user's own risk.
   This information is subject to change without notice.

   This advisory Copyright (C) 2007 Rapid7, LLC. Permission is hereby
   granted to redistribute this advisory, providing that no changes are
   made and that the copyright notices and disclaimers remain intact.