Mozilla Foundation Security Advisory 2013-88

Compartment mismatch re-attaching XBL-backed nodes

Announced
September 17, 2013
Reporter
Sachin Shinde
Impact
High
Products
Firefox, Firefox ESR, SeaMonkey, Thunderbird, Thunderbird ESR
Fixed in
  • Firefox 24
  • Firefox ESR 17.0.9
  • SeaMonkey 2.21
  • Thunderbird 24
  • Thunderbird ESR 17.0.9

Description

Security researcher Sachin Shinde reported that moving certain XBL-backed nodes from a document into the replacement document created by document.open() can cause a JavaScript compartment mismatch which can often lead to exploitable conditions.

Starting with Firefox 20 this condition was turned into a run-time assertion that would crash the browser in an unexploitable way, and in Firefox 24 the underlying cause was fixed.

In general this flaw cannot be exploited through email in the Thunderbird product because scripting is disabled, but is potentially a risk in browser or browser-like contexts.

References