Seven vulnerabilities found through code inspection were highlighted in critical Advisory 2015-66, including three uses of uninitialized memory, one poor validation leading to an exploitable crash, one read of unowned memory in zip files, and two buffer overflows.
“These do not all have clear mechanisms to be exploited through web content but are vulnerable if a mechanism can be found to trigger them,” Advisory 2015-66 said.
Two related use-after-free vulnerabilities that occur when using XMLHttpRequest in concert with either shared or dedicated workers were described in critical Advisory 2015-65.
“These errors occur when the XMLHttpRequest object is attached to a worker but that object is incorrectly deleted while still in use,” Advisory 2015-65 said. “This results in exploitable crashes.”
Critical Advisory 2015-63 is related to a use-after-free vulnerability in Content Policy – due to a microtask execution error – that leads to an exploitable crash, while the bugs in critical Advisory 2015-59 involved a variety of memory safety problems and crashes.
“Some of these bugs showed evidence of memory corruption under certain circumstances, and we presume that with enough effort at least some of these could be exploited to run arbitrary code,” Advisory 2015-59 said.
A number of other high, moderate and low impact vulnerabilities were also addressed in Firefox 39, including an out-of-bound read while computing an oscillator rendering range in Web Audio, privilege escalation in PDF.js, and type confusion in indexed Database Manager.