Mozilla Foundation Security Advisory 2014-31

Out-of-bounds read/write through neutering ArrayBuffer objects

Announced
March 18, 2014
Reporter
Jüri Aedla
Impact
Critical
Products
Firefox, Firefox ESR, SeaMonkey, Thunderbird
Fixed in
  • Firefox 28
  • Firefox ESR 24.4
  • SeaMonkey 2.25
  • Thunderbird 24.4

Description

Security researcher Jüri Aedla, via TippingPoint's Pwn2Own contest, reported that TypedArrayObject does not handle the case where ArrayBuffer objects are neutered, setting their length to zero while still in use. This leads to out-of-bounds reads and writes into the JavaScript heap, allowing for arbitrary code execution.

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

References