Vulnerability Note VU#402580
Jetty HTTP server directory traversal vulnerability
A vulnerability in the Jetty HTTP server could allow a remote attacker to gain access to files outside of the normal document tree.
Jetty provides an HTTP server, HTTP client, and javax.servlet container. An error in the way canonical paths are interpreted in the HTTP server's URI handler results in a directory traversal vulnerability. This vulnerability affects all versions of Jetty up to and including jetty 6.1.16 and 7.0.0.M2. In order for a system to be vulnerable, it must either be using the DefaultServlet with support for aliases explicitly enabled or the ResourceHandler class to serve static content. The vendor reports that systems running Jetty on Unix-like operating systems must also contain a directory name ending a '?' character in the web application or document root in order to be vulnerable.
A remote attacker can access files outside of the web application or document root by supplying a crafted URL to an vulnerable system.
Upgrade or apply a patch from the vendor
Jetty version 6.1.17 has been published to address this vulnerability. Users are encouraged to upgrade to this version.
The vendor has described the following workarounds for users who are unable to update their software:
confirm that your jetty instance is running with
the Default servlet "aliases" initParam set to "false".
You will find this setting in either your application's
web.xml or the etc/webdefault.xml. If it is not set,
then it takes the default, safe, value of "false".
You should also check that the org.mortbay.util.FileResource.checkAliases
system property is either not set, or set to true.
If you are using the ResourceHandler, then you can secure your
system against this vulnerability by compiling the source
at the bottom of this message against the version of Jetty
that you are using. Use an instance of this class instead
of the ResourceHandler
public class TempFixResourceHandler extends ResourceHandler
public Resource getResource(String path) throws MalformedURLException
if (path!=null && path.indexOf('?')>=0)
Systems Affected (Learn More)
Systems using Jetty versions 6.1.16 and earlier, and versions 7.0.0M2 and earlier.
|Vendor||Status||Date Notified||Date Updated|
|Mort Bay||Affected||-||01 May 2009|
CVSS Metrics (Learn More)
Thanks to Greg Wilkins of Mort Bay Consulting for reporting this vulnerability.
This document was written by Chad R Dougherty.
- CVE IDs: Unknown
- Date Public: 29 Apr 2009
- Date First Published: 01 May 2009
- Date Last Updated: 01 May 2009
- Severity Metric: 6.60
- Document Revision: 9
If you have feedback, comments, or additional information about this vulnerability, please send us email.