Back to Advisories

Advisories

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

Summary

Dec 06, 2007 - JFreeChart is a popular Java-based chart library used to generatecharts 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 aribtrary HTML into any product or Web site which uses the library.

Affected system(s):

KNOWN VULNERABLE:

  • JFreeChart 1.0.8

KNOWN FIXED:

  • JFreeChart 1.0.8 branch "freechart-1.0.8-security"

Vendor Info

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.

Solution

Upgrade to JFreeChart SVN repository revision 682 or later.

See http://jfreechart.svn.sourceforge.net/viewvc/jfreechart/for details.

Detailed Analysis

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

  • The chart name.
  • The chart tool tip text.
  • The href attribute for a chart area.
  • The shape attribute for a chart area.
  • 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 Web site or application to execute arbitrary JavaScript code when viewing a page containing a chart.

Credit: Discovered by Chad Loder of Rapid7.

Disclaimer & 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.