CVE-2010-3639
Description
Unspecified vulnerability in Adobe Flash Player before 9.0.289.0 and 10.x before 10.1.102.64 on Windows, Mac OS X, Linux, and Solaris, and 10.1.95.1 on Android, allows attackers to cause a denial of service or possibly execute arbitrary code via unknown vectors.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No mitigations published for this CVE yet.
The vendor-content worker queues fetches as references arrive (check back in a few minutes). Or โ if you've already worked around this in production โ publish your fix to the community-verified tier.
โ Propose a mitigation on Community โ Mitigations published via the community go through AI scoring + 2 human reviewers + 7-day silent objection window before landing here withsource_tier=community-verified.
Exploits
Public proof-of-concept code below. AS-IS, for defenders and authorised testing only.
Exploit-DB
Adobe Flash - ActionIf Integer Denial of Service
Adobe Flash Integer Overflow
Author: Matthew Bergin
Date: June 15, 2010
Versions Affected: Flash10e.ocx v10.0.45.2
Flash10c.ocx v10.0.32.18 r32
Root Cause: ActionScript, "ActionIf"
Affect: Denial-of-Service, possible Command Execution
CVE: CVE-2010-3639
Desc: When Parsing an ActionIf ActionScript statement four args are passed
to the function, an integer named i , a ubyte named ActionCode, a ushort
named Length, and a short named BranchOffset. If the BranchOffset is -305 or
smaller it will cause an Access Violation when reading data from a
invalid memory address. The last 16-bits of the address are controlable
with the size of the BranchOffset argument. Any data which is in a valid
segment of memory near the controlled address can be read causing Memory
Disclosure. This would be used well in combination with a memory corruption
vulnerability in order to bypass ASLR.
In doing my initial research I found a lot of interesting things along the way.
Flash10c is not vulnerable in the same way Flash10e is. I initially discovered
the integer overflow in Flash10c while fuzzing SWF. I didnt fuzz it via a web
browser but instead used a free application which uses the modules in a more
direct manner. Flash10c is not able to be attacked via a browser as far as I
have been able to tell. However, I have found during my research that Flash10e
is loaded as a module when any Flash object is encountered. I am unsure as to
if this is a configuration issue or not. In addition to this, while debugging
this issue I found that both versions have a self-changing CRC which inhibits
keeping break points set.
Another interesting note is that when confirming the PoC on Flash Movie Player
i noticed that if you open the file with the File -> Open drop down menu, the
PoC will not hit the vulnerable code causing a crash. However, if you register
the swf extension to Flash Movie Player and "double-click" the PoC file to run
it, Flash Movie Player will hit the vulnerable code every time.
The PoC code would be best embedded into HTML for remote attacks but can be
attacked in any manner in which Flash10c.ocx/Flash10e.ocx are loaded as modules
into memory.
Fuzzed Application: EolSoft Flash Movie Player (downloads.cnet.com) v1.5
Crash Details:
Access Violation
Exception caught at 1009cb23 mov al,[eax+ecx]
EAX:0267010c EBX:00e990b4 ECX:fffffef3 EDX:00e9b038
ESI:00e80000 EDI:00e990b0 ESP:0012f780 EBP:0012f99c
Reversing:
struct SWFTAG Tag[7], value DoAction
struct ACTIONRECORD ActionTag[6], value ActionIf, starts @ E3h size 5h
int i, value 0
ubyte ActionCode, value 157
ushort Length, value 2
short BranchOffset, value -305
BranchOffset is located @ E6h-E7h
PoC: https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/15426.rar (adobe_flash_int_ovrflw_poc.rar)
OS impact
Linux kernel Fixed 1 release
| Version | Status | Fixed in |
|---|---|---|
| - | Not affected | โ |
macOS Fixed 1 release
| Version | Status | Fixed in |
|---|---|---|
| - | Not affected | โ |
Application impact
| Vendor | Product | Versions | Fixed |
|---|---|---|---|
| adobe | flash_player | {"startIncluding":"9.0","endExcluding":"9.0.289.0"} | 9.0.289.0 |
References
- http://blogs.sun.com/security/entry/multiple_vulnerabilities_in_adobe_flash1
- http://lists.apple.com/archives/security-announce/2010//Nov/msg00000.html
- http://lists.opensuse.org/opensuse-security-announce/2010-11/msg00002.html
- http://marc.info/?l=bugtraq&m=130331642631603&w=2
- http://secunia.com/advisories/42183
- http://secunia.com/advisories/42926
- http://secunia.com/advisories/43026
- http://security.gentoo.org/glsa/glsa-201101-09.xml
- http://support.apple.com/kb/HT4435
- http://www.adobe.com/support/security/bulletins/apsb10-26.html
- http://www.redhat.com/support/errata/RHSA-2010-0829.html
- http://www.redhat.com/support/errata/RHSA-2010-0834.html
- http://www.redhat.com/support/errata/RHSA-2010-0867.html
- http://www.securityfocus.com/bid/44692
- http://www.vupen.com/english/advisories/2010/2903
- http://www.vupen.com/english/advisories/2010/2906
- http://www.vupen.com/english/advisories/2010/2918
- http://www.vupen.com/english/advisories/2011/0173
- http://www.vupen.com/english/advisories/2011/0192
- https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A11310
- https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A12625
- http://blogs.sun.com/security/entry/multiple_vulnerabilities_in_adobe_flash1
- http://lists.apple.com/archives/security-announce/2010//Nov/msg00000.html
- http://lists.opensuse.org/opensuse-security-announce/2010-11/msg00002.html
- http://marc.info/?l=bugtraq&m=130331642631603&w=2
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.