[PSA-2013-1022-1] Microsoft Silverlight Invalid Typecast / Memory Disclosure

2013-11-05T00:00:00
ID SECURITYVULNS:DOC:29990
Type securityvulns
Reporter Securityvulns
Modified 2013-11-05T00:00:00

Description

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

+------------------------------------------------------------------------------+ | Packet Storm Advisory 2013-1022-1 | | http://packetstormsecurity.com/ | +------------------------------------------------------------------------------+ | Title: Microsoft Silverlight Invalid Typecast / Memory Disclosure | +--------------------+---------------------------------------------------------+ | Release Date | 2013/10/22 | | Advisory Contact | Packet Storm (advisories@packetstormsecurity.com) | | Researcher | Vitaliy Toropov | +--------------------+---------------------------------------------------------+ | System Affected | Microsoft Silverlight | | Versions Affected | Prior to 5.1.20125.0 (MS13-022) | | | Prior to 5.1.20913.0 (MS13-087) | | Related Advisory | MS13-022 / MS13-087 | | Related CVE Number | CVE-2013-0074 / CVE-2013-3896 | | Vendor Patched | 2013/03/12 / 2013/10/08 | | Classification | 1-day | +--------------------+---------------------------------------------------------+

+----------+ | OVERVIEW | +----------+

The release of this advisory provides exploitation details in relation to known patched vulnerabilities in Microsoft Silverlight. These details were obtained through the Packet Storm Bug Bounty program and are being released to the community.

+------------------------------------------------------------------------------+

+---------+ | DETAILS | +---------+

A memory disclosure vulnerability exists in the public WriteableBitmap class from System.Windows.dll. This class allows reading of image pixels from the user-defined data stream via the public SetSource() method.

BitmapSource.ReadStream() allocates and returns byte array and a count of array items as out parameters. These returned values are taken from the input stream and they can be fully controlled by the untrusted code. When returned "count" is greater than "array.Length", then data outside the "array" are used as input stream data by the native BitmapSource_SetSource() from agcore.dll. Later all data can be viewed via the public WriteableBitmap.Pixels[] property.

+------------------------------------------------------------------------------+

+------------------+ | PROOF OF CONCEPT | +------------------+

The full exploit code demonstrating code execution is available here: http://packetstormsecurity.com/files/123731/

+------------------------------------------------------------------------------+

+---------------+ | RELATED LINKS | +---------------+

http://technet.microsoft.com/en-us/security/bulletin/ms13-022 http://technet.microsoft.com/en-us/security/bulletin/ms13-087

+------------------------------------------------------------------------------+

+----------------+ | SHAMELESS PLUG | +----------------+

The Packet Storm Bug Bounty program gives researchers the ability to profit from their discoveries. You can get paid thousands of dollars for one day and zero day exploits. Get involved by contacting us at getpaid@packetstormsecurity.com or visit the bug bounty page at:

http://packetstormsecurity.com/bugbounty/

-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14 (GNU/Linux)

iEYEARECAAYFAlJnHfEACgkQrM7A8W0gTbFKPACdGSp3GhRyvUjEzrNnlNejkGt+ pzQAoIeywymRBuPYbO9+OVGT59miZKuC =1UST -----END PGP SIGNATURE-----