Mozilla Foundation Security Advisory 2012-44
Title: Gecko memory corruption
Announced: July 17, 2012
Reporter: Abhishek Arya
Products: Firefox, Thunderbird, SeaMonkey
Fixed in: Firefox 14
Firefox ESR 10.0.6
Thunderbird ESR 10.0.6
Google security researcher Abhishek Arya used the Address Sanitizer tool to uncover four issues: two use-after-free problems, one out of bounds read bug, and a bad cast. The first use-after-free problem is caused when an array of nsSMILTimeValueSpec objects is destroyed but attempts are made to call into objects in this array later. The second use-after-free problem is in nsDocument::AdoptNode when it adopts into an empty document and then adopts into another document, emptying the first one. The heap buffer overflow is in ElementAnimations when data is read off of end of an array and then pointers are dereferenced. The bad cast happens when nsTableFrame::InsertFrames is called with frames in aFrameList that are a mix of row group frames and column group frames. AppendFrames is not able to handle this mix.
All four of these issues are potentially exploitable.