|
|
Type Confusion in NetConnection ASnative | ||||
| Project Member Reported by natashenka@google.com, Jan 15 2015 | Back to list | ||||
When a NetConnection AS2 native function is called, the this object is verified to either have a type of NetConnection, or to be an untyped object that has a __proto__ descendant with type NetConnection. The this object's user data is then cast to type NetConnection. The userdata is not verified to be NULL if the object is not of type NetConnection. This means that type confusion can occur if the __proto__ of an untyped object with a non-null userdata (such as a native function object) is set to and object of type NetConnection. var b = ASnative(2100, 0x77777777); var n = new NetConnection() b.__proto__ = n; var f = ASnative(2100, 0); //NetConnection.connect f.call(b, 1); A sample swf and .fla file are attached. To trigger the issue, press the purple button.
Comment 1
by
cevans@google.com,
Jan 18 2015
,
Jan 19 2015
,
Mar 6 2015
,
Mar 12 2015
,
Mar 19 2015
,
Apr 13 2015
Adding exploit code |
|||||
| ► Sign in to add a comment | |||||