jar: Protocol XSS Security Issues

Window Snyder

1

Issue

jar: protocol is not restricted to java archives and will open any zip format file. An attacker can use this to evade filtering on sites that allow users to upload content and use this initiate a cross site scripting attack.

Impact

Firefox supports the Java Archive URI scheme that allows the addressing of the contents of zip archives. An attacker may upload a zip format file to a trusted site that allows users to upload content. The victim clicks on a link on the attacker’s website or in an email that links to the uploaded content on a trusted site. Since the content is loaded from the trusted site, content from the zip file runs in the context of the trusted site. This may allow the attacker to access information stored on the trusted site without the victim’s knowledge.

There is a second issue that if a zip archive is loaded from a site through a redirect, Firefox uses the context from the initiating site. This allows an attacker to take advantage of a site with an open redirect and host content on their own malicious site that will execute with the permissions of the redirecting site.

There is a proof of concept that demonstrates these issues in an attack against Gmail that allows the attacker access to the victim’s stored Gmail contacts.

Status
In future versions Firefox will only support the jar scheme for files that are served with the correct application/java-archive MIME type. Firefox will also adjust the security context to recognize the final site as the source of the content. This will be addressed in Firefox 2.0.0.10, which is currently in testing.

You can follow our work in bugzilla:

https://bugzilla.mozilla.org/show_bug.cgi?id=369814

https://bugzilla.mozilla.org/show_bug.cgi?id=403331

Credit

These issues were identified by Jesse Ruderman, Petko D. Petkov, and beford.org.

One response

  1. James wrote on ::

    Couldn’t find an email address for you. I lead the Hartford OWASP chapter and would love to have you as a speaker…