Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
LowPublic exploit

Local EDR Process Termination via Hangzhou Shunwang Rentdrv2 IOCTL

IdentifiersCVE-2023-44976CWE-269

CVE-2023-44976 is a local vulnerability in the Hangzhou Shunwang Rentdrv2 kernel driver (also referenced as RentDrv2 / BadRentdrv2) affecting versions before 2024-12-24. The driver exposes a DeviceIoControl interface reachable from user mode, including IOCTL 0x22E010, without adequate restriction. According to the provided content, this interface can be abused to issue commands from user mode that trigger kernel-mode operations against processes, including termination of protected security processes and bypass of protection mechanisms such as Protected Process. The vulnerability has been incorporated into BYOVD tooling such as GhostDriver and BadRentdrv2 to kill EDR/AV processes by PID on both x86 and x64 systems, and exploitation in the wild was reported in October 2023.

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 allows a local attacker to abuse a signed but vulnerable kernel driver to terminate EDR and antivirus processes, including protected processes, thereby degrading or removing endpoint defenses. This can materially reduce detection and prevention coverage and facilitate subsequent malicious actions such as malware execution, ransomware deployment, credential theft, persistence establishment, or defense evasion. The source also notes unspecified additional impact beyond process termination, but no further verified technical detail is provided in the supplied content.

Mitigation

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

Mitigate by enforcing the Microsoft vulnerable driver blocklist, enabling HVCI/Memory Integrity where operationally feasible, and using WDAC or equivalent allowlisting to restrict kernel driver loading to approved drivers only. Monitor for creation/loading of RentDrv2/GhostDriver.sys, suspicious DeviceIoControl activity targeting the driver, and abrupt termination of EDR/AV processes. Restrict administrative privileges to reduce the ability to load or interact with kernel drivers, and alert on known BYOVD tooling such as GhostDriver and BadRentdrv2. Where possible, configure tamper protection and self-protection features in security products to detect or respond to driver-based process termination attempts.

Remediation

Patch, then assume compromise.

Upgrade or replace Hangzhou Shunwang Rentdrv2 with a fixed version released after 2024-12-24, and remove vulnerable copies of the driver from endpoints and software bundles. Prevent loading of known-vulnerable drivers through Microsoft vulnerable driver blocklist enforcement, WDAC/App Control policies, and EDR/OS protections that restrict third-party kernel driver loading. Review environments for bundled or dropped copies of RentDrv2/GhostDriver.sys and associated loaders such as GhostDriver.exe, and hunt for abuse of IOCTL 0x22E010. If the driver is not required, uninstall the associated software and revoke its ability to load.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 1 / 1 TOTALView more in app
BadRentdrv2MaturityPoCVerified exploit

This repository contains a proof-of-concept (PoC) exploit for a vulnerable Windows driver (rentdrv2.sys) that can be used to terminate protected processes, such as EDR and antivirus software, by exploiting the driver's functionality. The main code is in BadRentdrv2/BadRentdrv2/BadRentdrv2.cpp, which implements the following steps: (1) drops the vulnerable driver to disk, (2) installs and starts it as a Windows service, (3) opens a handle to the driver device (\\.\rentdrv2), and (4) sends a crafted IOCTL to terminate a process by PID. The exploit requires administrator privileges and is intended for local execution. The code also cleans up after execution by stopping and deleting the driver service and removing the driver file from disk. The README documents the exploit's use against several well-known security products and provides a timeline of disclosure. No specific CVE is referenced, but the vulnerability is acknowledged by Microsoft and has been addressed in their driver blocklist. The repository is structured as a Visual Studio C++ project with the main exploit logic in a single .cpp file, and the driver binaries embedded as headers.

keowuDisclosed Oct 1, 2023cpplocal
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 evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware2

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

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 activity5

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