eEye Digital Security
  • Login to the eEye Business Client Portal
  • Shop for eEye Products
  • Read the eEye Blog
  • Subscribe to eEye RSS Feeds
  • Follow eEye on Twitter
  • Follow eEye of Facebook
Resources

Research Archives > Security Advisories > AD20051104

Macromedia Flash Player Improper Memory Access Vulnerability

Release Date:
11/4/2005 12:00:00 AM

Date Reported:
6/27/2005 12:00:00 AM

Severity:
High

Vendor:
Macromedia

Affected Software:
Macromedia Flash 6 (on all Windows platforms) Macromedia Flash 7 (on all Windows platforms)

Overview:
eEye Digital Security has discovered a vulnerability in Macromedia Flash Player versions 6 and 7 that will allow an attacker to run arbitrary code in the context of the logged in user. An array boundary condition may be violated by a malicious SWF file in order to redirect execution into attacker-supplied data.

Technical Details:
The vulnerable code exists in Flash.ocx, which embodies the code responsible for playing back SWF files. One function maintains a large, 256-element table of function pointers on the stack, and uses a frame type identifier read from the SWF file as an index into the array, without enforcing the array boundaries. The following disassembly depicts the affected code:

.text:1002714F mov eax, [esi+0CA4h] ; type number
.text:10027155 mov ecx, [esi+94h] ; base of table
.text:1002715B lea eax, [ecx+eax*8] ; get element address
.text:1002715E mov ecx, [eax] ;

Although the index is not validated, its value is elsewhere restricted to be at most 0x8000, so the attacker can cause a function pointer to be retrieved from memory up to roughly 64KB after the base of the table on the stack. Typically this range will include heap memory, so by planting specific data on the heap, the attacker can very easily control the exact value of the function pointer. Reliable exploitation using this technique within Internet Explorer has been demonstrated by eEye Digital Security.

Protection:
Retina Network Security Scanner has been updated to identify this vulnerability.
Blink - Endpoint Vulnerability Prevention - preemptively protects from this vulnerability.

Vendor Status:
Macromedia has addressed this issue in the following security bulletin; http://www.macromedia.com/devnet/security/security_zone/mpsb05-07.html

Credit:
Discovery: Fang Xing

Greetings:
Thanks Derek and and all of the eEye guys who helped me write this advisory. Greeting xfocus guys and venustech lab guys.

Copyright ©1998-2011 eEye Digital Security
Permission is hereby granted for the redistribution of this alert electronically. It is not to be edited in any way without express consent of eEye. If you wish to reprint the whole or any part of this alert in any other medium excluding electronic medium, please email alert@eEye.com for permission.

Disclaimer
The information within this paper may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are no warranties, implied or express, with regard to this information. In no event shall the author be liable for any direct or indirect damages whatsoever arising out of or in connection with the use or spread of this information. Any use of this information is at the user's own risk.

Next Steps

Free Trial
Test drive an eEye product
On-demand Demo
See an online product tour
One-on-one Demo
Schedule a personalized tour
Compare Products
See side-by-side features
Buy Now
Go to eEye product store
Contact | Site Map | Privacy | Website Feedback | 1.866.339.3732
© 1998 – 2011 eEye Digital Security. All rights reserved.