EEYE: BitDefender Online Scanner 8 Double Decode Heap Overflow

From: eEye Advisories <>
Subject: EEYE: BitDefender Online Scanner 8 Double Decode Heap Overflow

BitDefender Online Scanner 8 Double Decode Heap Overflow

Release Date:
November 20, 2007

Date Reported:
October 24, 2007

High (Remote Code Execution)

BitDefender / SOFTWIN -

Systems Affected:
BitDefender Online Scan Users

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:


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.

Blink - Unified Client Security has proactively protected from these
vulnerabilities since their discovery.
Retina - Network Security Scanner has been updated to identify these

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.

Greg Linares

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 for permission.

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

Copyright © 1995-2020 All rights reserved.