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 3 users
Status: Fixed
Owner:
Email to this user bounced
Closed: Feb 2015
Cc:



Sign in to add a comment
XMLSocket Destructor Does Not Get Cleared Before Setting User Data in connect
Project Member Reported by natashenka@google.com, Nov 21 2014 Back to list
If XMLSocket connect is called on an object that already has a destroy function set, such as a BitmapData object, the method will set the user data of that object, but not clear the destroy function. This leads to type confusion when the user data is freed during garbage collection.

A sample SWF is attached, it only works on Chrome and the standalone flash player. Note that the object that connect is called on is only in a bad state for a brief window (after the user data is set, but before the connect callback is called), and a crash will only occur if GC occurs during this window.

The issue is triggered by the following code:

	var f = new flash.display.BitmapData(1000,1000,true, 1000);                                   
        
        flash.Lib._root._global.ASnative(400, 0).call(f, "74.125.239.129", 9999); //XMLSocket.connect


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.

 
test.swf
3.2 KB Download
Test.hx
529 bytes Download
Comment 1 by cevans@google.com, Nov 24 2014
Labels: -Reported-2014-Nov-21 Reported-2014-Nov-24 Id-3158
Confirmed in 64-bit Linux desktop; sent along to Adobe.
Comment 2 by cevans@google.com, Feb 4 2015
Labels: CVE-2015-0317
Comment 3 by cevans@google.com, Feb 6 2015
Labels: Fixed-2015-Feb-5
Status: Fixed
https://helpx.adobe.com/security/products/flash-player/apsb15-04.html
Comment 4 by cevans@google.com, Feb 12 2015
Labels: -Restrict-View-Commit
Sign in to add a comment