WinPcap Bug in bpf_filter_init() Function Lets Local Users Gain Kernel Level Privileges
SecurityTracker Alert ID: 1018935|
SecurityTracker URL: http://securitytracker.com/id/1018935
(Links to External Site)
Date: Nov 13 2007
Root access via local system|
Fix Available: Yes Vendor Confirmed: Yes |
Version(s): prior to 4.0.2|
A vulnerability was reported in WinPcap. A local user can obtain kernel level privileges on the target system.|
A local user can submit a specially crafted IOCTL request to the 'NPF.SYS' driver to trigger a memory access error in the bpf_filter_init() function and execute arbitrary commands on the target system with kernel level privileges.
The driver can be accessed by local users once an administrator has loaded a WinPcap-based application.
The vendor was notified on October 30, 2007.
This vulnerability was reported via iDefense.
A local user can obtain kernel level privileges on the target system.|
The vendor has issued a fixed version (4.0.2).|
The WinPcap advisory is available at:
Vendor URL: www.winpcap.org/ (Links to External Site)
|Underlying OS: Windows (Any)|
Source Message Contents
Subject: iDefense Security Advisory 11.12.07: WinPcap NPF.SYS bpf_filter_init|
iDefense Security Advisory 11.12.07
Nov 12, 2007
WinPcap is a software package that facilitates real-time link-level
network access for Windows-based operating systems. A wide range of
open-source projects, including Wireshark, use it. More information is
available at the project's web site at the following URL.
Local exploitation of an invalid array indexing vulnerability in the
NPF.SYS device driver of WinPcap allows attackers to execute arbitrary
code in kernel context.
The problem specifically exists within the bpf_filter_init function. In
several places throughout this function, values supplied from a
potential attacker are used as array indexes without proper bounds
checking. By making IOCTL requests with specially chosen values,
attackers are able to corrupt the stack, or pool memory, within the
Exploitation allows attackers to execute arbitrary code in kernel
The vulnerable device driver is loaded when WinPcap is initialized. This
driver can be set to load on start-up depending on a choice made at
installation time. However, this is not the default setting.
Normally, the device driver is not loaded until an administrator
utilizes a WinPcap dependent application. Once they do, it will become
accessible to normal users as well. When a program using this driver
exits, it is not unloaded. Attackers will continue to have access until
the driver is manually unloaded.
If the option to allow normal user access was chosen at installation
time, attackers will always have access to this device driver.
Consequently, a local attacker without administrator privileges would
have access to sniff, as well as exploit this vulnerability.
iDefense has confirmed the existence of this vulnerability in version
4.0.1 of WinPcap as included in Wireshark 0.99.6a. The version of
NPF.SYS tested was 22.214.171.1241. iDefense suspects older versions to also
iDefense is currently unaware of any effective workaround for this
VI. VENDOR RESPONSE
The WinPcap Team has addressed this vulnerability by releasing version
4.0.2 of the WinPcap software. For more information, see the following
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2007-5756 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org/), which standardizes names for
VIII. DISCLOSURE TIMELINE
10/30/2007 Initial vendor notification
10/30/2007 Initial vendor response
11/12/2007 Coordinated public disclosure
The discoverer of this vulnerability wishes to remain anonymous.
Get paid for vulnerability research
Free tools, research and upcoming events
X. LEGAL NOTICES
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail firstname.lastname@example.org for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.