Skip to main content
Mallory
HighCISA KEVExploited in the wildPublic exploit

Kernel privilege escalation in Intel Ethernet diagnostics driver (IQVW32.sys/IQVW64.sys)

IdentifiersCVE-2015-2291CWE-119

CVE-2015-2291 is a local vulnerability in the Intel Ethernet diagnostics driver for Windows, affecting IQVW32.sys and IQVW64.sys before version 1.3.1.0. The driver exposes multiple IOCTL handlers that can be reached by a local user and do not safely handle crafted input for IOCTL codes 0x80862013, 0x8086200B, 0x8086200F, and 0x80862007. According to the provided content, successful exploitation can cause a denial of service or possibly allow arbitrary code execution with kernel privileges. In practice, the flaw has been associated with post-compromise abuse of the Intel driver as a bring-your-own-vulnerable-driver (BYOVD) primitive to obtain kernel-level execution and facilitate security-tool tampering.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation can crash the system or enable arbitrary code execution in kernel context. That level of access allows an attacker to fully compromise the host, including disabling or terminating endpoint security products, bypassing user-mode protections, manipulating processes and memory, and establishing highly privileged persistence. The supporting content specifically notes use of this vulnerability by Scattered Spider to terminate security software and evade detection.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching or removal is not possible, restrict the ability of untrusted users or processes to load or access the vulnerable driver, enable Microsoft and EDR vulnerable-driver blocklists, and monitor for suspicious driver loads and device I/O activity involving iqvw32.sys/iqvw64.sys. Application control, WDAC/HVCI where operationally feasible, and alerting on known malicious tooling that abuses this driver can reduce exposure. Since exploitation is local, limiting initial compromise paths and preventing attacker-admin or code-execution footholds also materially reduces risk.

Remediation

Patch, then assume compromise.

Upgrade the Intel Ethernet diagnostics driver components IQVW32.sys and IQVW64.sys to version 1.3.1.0 or later. Remove or replace vulnerable copies of the driver wherever present, including systems where the driver may have been introduced outside normal enterprise software deployment. Because this issue is commonly abused in BYOVD scenarios, organizations should also audit for unauthorized or unexpected instances of iqvw32.sys/iqvw64.sys, block known-vulnerable driver hashes where possible, and ensure endpoint controls enforce vulnerable-driver blocklists.
PUBLIC EXPLOITS

Exploits

3 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (2 hidden).

VALID 3 / 5 TOTALView more in app
iqvw64e-privilege-escalationMaturityPoCVerified exploit

Repository contains a Windows local privilege escalation PoC for CVE-2015-2291 targeting Intel's iqvw64e.sys (device \\.\Nal). Structure: (1) README.md explains reverse engineering of the driver's IRP_MJ_DEVICE_CONTROL handler, the IOCTL 0x80862007 path, and a jump-table dispatch where index 0x33 triggers an internal memmove-like routine. This yields an arbitrary kernel memory copy primitive, which is wrapped into read64/write64 helpers. (2) main.cpp is the operational exploit: it enumerates kernel drivers to find the ntoskrnl.exe base, loads a local ntoskrnl.exe to resolve PsInitialSystemProcess and compute its kernel address, uses the memmove primitive to read the SYSTEM process EPROCESS and its Token, walks the ActiveProcessLinks list to find the current process EPROCESS by UniqueProcessId, overwrites the current process Token with the SYSTEM token (token stealing), then launches powershell.exe. The exploit is build-specific due to hardcoded EPROCESS offsets for Windows 10 x64 22H2 (19045.6466). No network IOCs are present; all interaction is local via the device driver and kernel memory primitives.

ethaneditsDisclosed Jan 25, 2026c++markdownlocal
CVE-2015-2291MaturityPoCVerified exploit

This repository provides a detailed write-up and fully functional local privilege escalation exploit for CVE-2015-2291, targeting the Intel Ethernet diagnostics driver (IQVW32.sys/IQVW64.sys) on Windows 7 SP1 and Windows 10 20H2 (both 64-bit). The exploit is implemented in C and assembly, with separate codebases for Windows 7 and Windows 10. The main exploit logic is in 'exploit.c', which interacts with the vulnerable driver via the DeviceIoControl API using the IOCTL code 0x80862007. The exploit leverages the lack of proper input validation in the driver to perform arbitrary memory operations in kernel space, ultimately overwriting function pointers in the HalDispatchTable to execute custom kernel shellcode. The shellcode steals the SYSTEM process token and assigns it to the current process, resulting in a SYSTEM shell. The repository includes all necessary source files, project files for Visual Studio, and detailed technical documentation in the README. The exploit is operational and demonstrates a real-world local privilege escalation technique using a BYOVD (Bring Your Own Vulnerable Driver) approach.

gmh5225Disclosed Jun 28, 2022cassemblylocal
Intel-CVE-2015-2291MaturityPoCVerified exploit

This repository is a proof-of-concept (PoC) exploit for CVE-2015-2291, a privilege escalation vulnerability in the Intel Ethernet diagnostics driver (iqvw64e.sys) on Windows. The exploit is implemented in C++ and consists of two main code files: 'intelExplo.cpp' (main logic) and 'intelExplo.hpp' (definitions and helper functions/structs). The exploit interacts with the driver via the device interface '\\.\Nal' and leverages IOCTLs to perform arbitrary kernel memory read/write operations. By manipulating kernel memory, the exploit locates the SYSTEM process token and overwrites the current process token, effectively granting SYSTEM privileges to the exploit process. It then spawns a SYSTEM shell (cmd.exe). The code also includes additional functionality for physical-to-virtual address translation and mapping physical memory, which can be used for arbitrary kernel memory access. The exploit requires the vulnerable driver to be loaded and accessible, and is intended for local privilege escalation on Windows systems.

Tare05Disclosed Feb 22, 2020c++local
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
IntelEthernet Diagnostics Driver Iqvw32.Sysapplication
IntelEthernet Diagnostics Driver Iqvw64.Sysapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence6

Every observed campaign linking this CVE to a named adversary.

Associated malware5

Malware families riding this exploit, with evidence and IOCs.

Detection signatures1

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity2

Community discussion across Reddit, Mastodon, and other social sources.