BitDefender Online Scanner 8 Double Decode Heap Overflow

Credit: Greg Linares
Risk: High
Local: Yes
Remote: Yes
CWE: CWE-119

CVSS Base Score: 9.3/10
Impact Subscore: 10/10
Exploitability Subscore: 8.6/10
Exploit range: Remote
Attack complexity: Medium
Authentication: No required
Confidentiality impact: Complete
Integrity impact: Complete
Availability impact: Complete

BitDefender Online Scanner 8 Double Decode Heap Overflow Release Date: November 20, 2007 Date Reported: October 24, 2007 Severity: High (Remote Code Execution) Vendor: BitDefender / SOFTWIN - Systems Affected: BitDefender Online Scan Users Overview: eEye Digital Security has discovered a critical remote code execution condition within OScan8.ocx and Oscan81.ocx included by default in BitDefender Online Anti-Virus Scanner 8.0 released on May 24th 2006. OScan.ocx is the main ActiveX component for BitDefender's Anti-Virus Scanner and is initialized by Internet Explorer or any other ActiveX compatible products. After this file is initialized, it generates the GUI for the scanner and manages all User-issued commands. Oscan.ocx has also an internal website verification system to prevent the ActiveX control from being initialized outside of an authorized domain. Unfortunately due to a lack of data-sanitization, OScan.ocx can be forced to be initialized in an unsafe domain and it can be manipulated to corrupt arbitrary memory locations with user supplied values. This could allow a memory corruption scenario that would lead to arbitrary code execution or denial of service conditions. Technical Description: A remote vulnerability lies within a malformed request sent to BitDefender's Online Anti-Virus Scanner ActiveX Controller, OScan.ocx. OScan.ocx's vulnerable function, InitX, is the only function that accepts user-supplied data and is required to initialize the control for its use. The function InitX takes a string argument value of bstrLocation and is used to verify the calling domain. The IDL for InitX resembles the following: Function InitX { ByVal bstrLocation as String } As Boolean This feature is used to safeguard the ActiveX control and prevent it from being initialized outside of authorized domains. Users may submit requests to host this control on their site and they are given an initialization key. Referencing the BitDefender website you can see that their domain is being processed with the following hex-value key: AvxUI.InitX('000000408E45E3394593BF66F0C93C6CF90AF0F0AB417E17657D7F328A2 312ACBE0B139EF3EBFB69939B1C3B24D8BC392D752B8408EAACCD809B94D38B8F9B5E97B 1C1A6') After this domain key is processed and verified the control would initialize and accept user commands and begin scanning files. However a double-decoding vulnerability is present when processing Unicode values passed to the vulnerable function as a domain key. This vulnerability is triggered prior to the domain validation by prepending two "%" (0x25) characters to domain key value. This causes OScan.ocx to double-encode the parameter from Unicode and allocate arbitrary memory. By combining this method with an overly long string, a heap-based memory corruption scenario will result. This heap-overflow allows arbitrary values from the user-supplied malformed string to overwrite memory within Internet Explorer or the host ActiveX process. Although the attacker does not control the location of where the memory overwrite occurs, the vulnerability has a tendency to overwrite pointers that are later called by Internet Explorer or the host ActiveX process and thus arbitrary code execution is possible. Protection: Blink - Unified Client Security has proactively protected from these vulnerabilities since their discovery. Retina - Network Security Scanner has been updated to identify these vulnerabilities. Vendor Status: BitDefender has released an update mitigating this vulnerability in the form of Oscan82.ocx. Users can download the updated Online BitDefender Scanner Here: Although the vulnerable ActiveX controls will still remain on a workstation after revisiting the site, they are no longer referenceable. Credit: Greg Linares Greetings: Das DiREctor, The PuppetMaster, Trouble #1 and Trouble #2, Mikhail T. Kalashnikov, W. Gibson, M. Shirow, All of Section 9, The C in PoC, the Wireless Ninja Maiffret, 75 foot ethernet cords, the peeps at InfinityWard, IO Interactive and Bioware for awesome games, and to Juno Reactor and Jesper Kyd for awesome tunes. Related Links: Preview - Advanced Security Intelligence - Retina - Network Security Scanner - Free Trial: Blink - Unified Client Security Personal - Free For Home Use: Blink - Unified Client Security Professional - Free Trial: Copyright (c) 1998-2007 eEye Digital Security Permission is hereby granted for the redistribution of this alert electronically. It is not to be edited in any way without express consent of eEye. If you wish to reprint the whole or any part of this alert in any other medium excluding electronic medium, please email alert (at) eEye (dot) com [email concealed] for permission. Disclaimer The information within this paper may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are no warranties, implied or express, with regard to this information. In no event shall the author be liable for any direct or indirect damages whatsoever arising out of or in connection with the use or spread of this information. Any use of this information is at the user's own risk.EEYE

Vote for this issue:


Thanks for you vote!


Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.

(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2019,


Back to Top