CVE-2021-40425
Executive Summary
CVE-2021-40425 is an out-of-bounds read vulnerability in the Webroot Secure Anywhere device driver (WRCore_x64) affecting version 21.4. The flaw resides in the handling of IOCTL requests — specifically the GetProcessCommand and B_03 commands — and can be triggered by a specially crafted executable issuing malicious ioctl calls to the driver. Successful exploitation results in a denial of service condition, potentially crashing the driver or the kernel. With a CVSS score of 7.1, this vulnerability is classified as high severity, though the EPSS score of 0.00327 suggests low immediate exploitation likelihood in the wild.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability is rooted in the Windows kernel-mode device driver WRCore_x64, part of the Webroot Secure Anywhere security product suite. Kernel drivers expose input/output control (IOCTL) interfaces to user-mode applications through the Windows DeviceIoControl API. These interfaces allow privileged kernel functionality to be accessed from user mode using well-defined control codes.
Per the NVD description, two distinct IOCTL command codes are affected:
GetProcessCommand — An out-of-bounds read is triggered when this command processes malformed input. The driver read operation accesses memory outside the bounds of an allocated buffer.
B_03 (IOCTL_B03) — Specifically, an IOCTL_B03 request containing "specific invalid data" causes a similar out-of-bounds read condition.
The vulnerability class is CWE-125 (Out-of-bounds Read). In kernel driver context, this flaw occurs when the driver fails to validate the size or length fields of user-supplied input buffers before performing read operations. A user-mode process can pass a buffer with a manipulated size value, causing the driver to read beyond the intended memory region.
Attack Surface Considerations:
- The primary attack surface is local, requiring an authenticated user with the ability to execute code on the affected system.
- Security products expect to process untrusted input and often run at high privilege levels, making them high-value targets for privilege escalation.
- The driver runs in kernel mode (Ring 0), meaning a successful out-of-bounds read may leak sensitive kernel memory contents to user mode or crash the system.
The NVD description notes that the two issues (GetProcessCommand and B_03) are similar — they share the same root cause: insufficient validation of request parameters in IOCTL handling routines.
Technical limitations in the description: The NVD description does not provide the specific IOCTL control code numbers, the exact buffer layout, or the precise vulnerable code path. This level of detail would normally be found in the vendor advisory, which is not currently available.
Exploitation Scenarios
Since the vulnerability is local-only and requires issuing ioctl calls through the Windows device driver interface, the attack chain is as follows:
Reconnaissance / Target Identification: The attacker must first gain a foothold on a target system — either as a low-privileged local user or through a prior exploit (e.g., web application compromise or social engineering leading to malware execution). The attacker then enumerates the system for security products, specifically Webroot Secure Anywhere 21.4. The presence of the WRCore_x64.sys kernel driver in the system driver directory confirms the target environment.
Triggering the Flaw: The attacker crafts a specially designed executable that opens a handle to the device exposed by WRCore_x64.sys (via CreateFile to the device path) and issues DeviceIoControl calls using the vulnerable control codes — GetProcessCommand and B_03. Critically, the B_03 variant requires "specific invalid data" — meaning the attacker must craft the input buffer with malformed size/length fields to cross the vulnerable bounds-checking path.
Payload / Execution Method: Because this is an out-of-bounds read (not write), the exploitation impact is denial of service rather than direct code execution. The malicious executable sends a malformed IOCTL request, causing the kernel driver to read past the boundaries of its buffer. This likely triggers an exception in kernel mode (e.g., access violation at an invalid address), resulting in a system crash (Blue Screen of Death) or driver fault — this constitutes the denial of service.
Post-Exploitation Impact: The primary post-exploitation outcome is system instability and availability loss. In multi-tenant or critical environments (e.g., servers running Webroot), the crash disrupts operations. An alternative — more subtle — outcome is that the out-of-bounds read may return kernel memory contents to the user-mode caller, which could leak sensitive information (addresses, secret keys) to the attacker. This would be a secondary information disclosure vector, though the NVD description frames the primary impact as denial of service.
No Public PoC: There is no known public proof-of-concept, exploit code, or Nuclei template available. The attack chain described above is inferred from the vulnerability class and the IOCTL-specific details in the NVD description.
Impact Assessment
Business Impact: The vulnerability allows a local, authenticated attacker to cause denial of service on affected systems. In a corporate environment, this translates to system crashes and downtime for endpoints running Webroot Secure Anywhere 21.4. Servers and workstations hosting the product may be rendered unavailable.
CVSS Subscore Analysis (Score 7.1, High):
- Attack Vector: Local — Requires local access to the system, limiting remote exploitation.
- Attack Complexity: Low — The malformed IOCTL request requires minimal crafting skill.
- Privileges Required: Low — Only a low-privileged account is needed to issue the IOCTL.
- User Interaction: None — No user interaction is required.
- Confidentiality Impact: High — While the primary impact is DoS, out-of-bounds reads can leak sensitive kernel memory.
- Availability Impact: High — The primary denial-of-service impact is severe, likely kernel panic/BSOD.
Blast Radius: Limited to systems running Webroot Secure Anywhere 21.4. There is no evidence of network propagation or remote exploitation. Organizations running this security product on critical servers or all endpoints face the highest risk — a single malicious local user can crash a shared server.
Legend: EPSS score 0.00327 (25.4% percentile) indicates low real-world exploitation activity; however, the lack of a patch raises the long-term risk window.
Detection Guidance
Sigma Rule
title: Webroot Secure Anywhere IOCTL Out-of-Bounds Read Exploitation
id: 3c2f5e6a-8b4d-4f2a-9c3e-7d5a1b2c4e6f
status: experimental
description: Detects suspicious DeviceIoControl calls to the Webroot WRCore driver with malformed B_03 or GetProcessCommand control codes, potentially exploiting CVE-2021-40425.
author: Valtersit Threat Intelligence
date: 2024/01/15
logsource:
product: windows
category: process_creation
detection:
selection:
Image|endswith: .exe
CommandLine|contains:
- 'B_03'
- 'GetProcessCommand'
filter_null:
CommandLine: null
condition: selection and not filter_null
falsepositives:
- Legitimate administrative tools referencing Webroot driver internals
level: high
tags:
- attack.privilege_escalation
- attack.t1068
- cve.2021.40425
YARA Rule
rule Webroot_IOCTL_Exploit_CVE_2021_40425
{
meta:
author = "Valtersit Threat Intelligence"
description = "Detects binary artifacts attempting to exploit Webroot WRCore IOCTL out-of-bounds read vulnerability"
cve = "CVE-2021-40425"
date = "2024-01-15"
severity = "high"
strings:
$s1 = "B_03" ascii wide
$s2 = "GetProcessCommand" ascii wide
$s3 = "WRCore" ascii wide nocase
$s4 = "DeviceIoControl" ascii wide nocase
$s5 = "\\\\.\\WRCore" ascii wide
condition:
uint16(0) == 0x5A4D and // MZ header
2 of ($s*) and
($s1 or $s2) and
$s3
}
Suricata IDS Rule
alert ip any any -> any any (msg:"Potential Webroot Secure Anywhere IOCTL DoS Attempt CVE-2021-40425"; flow:established; content:"DeviceIoControl"; nocase; content:"WRCore"; nocase; distance:0; content:"GetProcessCommand"; nocase; distance:0; classtype:attempted-dos; sid:202140425; rev:1; metadata:cve CVE-2021-40425;)
Elastic Detection
process where event.action == "start" and
process.command_line.text : ("*B_03*", "*GetProcessCommand*") and
process.command_line.text : "*WRCore*"
Splunk SPL Query
index=windows sourcetype=WinEventLog:Security OR sourcetype=WinEventLog:Application
("B_03" OR "GetProcessCommand")
| stats count by host, User, Process_Name
| where count > 5
Wazuh OSSEC Rule
<group name="webroot_exploitation,">
<rule id="100425" level="12">
<decoded>Command</decoded>
<field name="command">B_03|GetProcessCommand</field>
<description>Possible Webroot Secure Anywhere IOCTL exploitation attempt (CVE-2021-40425)</description>
<options>no_full_log</options>
<mitre>
<id>T1068</id>
</mitre>
<group>attack.privilege_escalation</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch Status: UNPATCHED (confidence 0/4 — no patch evidence from any tracked source, no vendor advisory, no fixed version identified).
Immediate Mitigations (recommended until patch available):
- Restrict local access to systems running Webroot Secure Anywhere 21.4. Limit the number of users with interactive logon permissions on critical servers.
- Apply least-privilege principles — remove unnecessary user accounts from endpoints and servers running the product to reduce the attack surface of local-only exploitation.
- Monitor endpoint events for suspicious processes referencing WRCore driver internals or unusual DeviceIoControl API calls.
- If the product is not essential, consider temporarily disabling the WRCore driver until a fix is released.
Patch / Upgrade Steps:
- Monitor the vendor's advisory page for Webroot Secure Anywhere for a patched version (expected as a future release or hotfix). Upgrade to the patched build as soon as it becomes available.
- Subscribe to Webroot security announcements or RSS feeds to receive automatic updates on CVE-2021-40425.
- Validate product version on all systems; implement automated asset inventory to track which endpoints run 21.4.
Long-Term Hardening:
- Maintain a process to regularly review and patch kernel-mode drivers from all security vendors — these are high-value targets.
- Deploy a host intrusion detection system (HIDS) that monitors access to raw device interfaces and unusual IOCTL traffic.
- Follow the vendor's patch cadence strictly; test and deploy security product updates as quickly as the change management process allows.
- Educate SOC teams to monitor for local privilege escalation indicators (ATT&CK T1068) including suspicious driver interaction patterns.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2021-40425
- MITRE ATT&CK — T1068 Exploitation for Privilege Escalation: https://attack.mitre.org/techniques/T1068/
- Webroot Secure Anywhere product page (for vendor contact / advisory tracking): https://www.webroot.com/us/en/business/secureanywhere
- CWE-125 Out-of-bounds Read reference: https://cwe.mitre.org/data/definitions/125.html
- EPSS (Exploit Prediction Scoring System) data for CVE-2021-40425: https://www.first.org/epss/search?q=CVE-2021-40425
Threat Actor Campaign Evidence: No known threat actor campaigns or exploit-in-the-wild activity have been identified for CVE-2021-40425 as of this reporting date. The CISA KEV (Known Exploited Vulnerabilities) catalog does not include this CVE. Exploitation likelihood is currently assessed as low based on EPSS metrics (0.00327).