Like leaving a spare master key inside the maintenance closet that only janitors can reach
CVE-2026-13585 affects the ASUS bsitf.sys / AsusBSItf.sys BIOS Flash Driver shipped with ASUS System Control Interface v3 (< v3.1.66.0), ASUS System Control Interface (< v1.1.40.0), and ASUS Business Manager (≤ v3.0.38.0). The driver exposes IOCTL 0x222808, which allocates physically contiguous kernel memory via MmAllocateContiguousMemory, maps it into the calling process via MDL, and hands back both the user-space pointer *and the physical address* — with zero validation on size, no cap on allocation count, and no cleanup mechanism. A local administrator can exhaust the kernel NonPagedPool to bluescreen the host, or harvest leaked physical addresses to defeat KASLR and stage DMA or kernel exploit chains. On ancient v3.0.10.0 builds the pool is even NonPagedPool (executable), making shellcode staging trivially possible if a secondary control-flow hijack exists. The vulnerability was discovered by researcher Hayaturehman Ahmadzai using his open-source *DeepZero* AI agent pipeline, responsibly disclosed to ASUS PSIRT on April 6 2026, and publicly disclosed with a Rust-based PoC on July 15 2026.
The CISA ADP vulnrichment scored this 8.2 (High) on CVSS 4.0 — which is technically defensible given the scope-change to the kernel subsystem. But that score ignores the elephant in the room: the attacker already has local administrator privileges. In an enterprise context this means the adversary is already past initial access, past privilege escalation, and sitting at the admin console of a single endpoint. Microsoft itself does not treat admin-to-kernel as a security boundary. The incremental blast radius — per-host DoS and a physical-address information leak — is real but modest compared to the access the attacker already holds. The driver *is* cataloged on loldrivers.io and is a valid BYOVD candidate, but it offers weaker primitives (allocate-and-map, not direct read/write) than the 35+ other BYOVD drivers already circulating in ransomware kits. No in-the-wild exploitation of this CVE has been observed, EPSS sits at the 16th percentile, and it is not KEV-listed. A MEDIUM assessment is appropriate.
4 steps from start to impact.
Achieve local administrator on target
SeLoadDriverPrivilege or equivalent admin rights, the \\.\.\\bsitf device cannot be opened. This prerequisite implies the adversary has already completed initial access and privilege escalation phases of the kill chain.- Interactive or service-level local administrator session on target Windows host
- Requires successful initial access and privilege escalation — two full kill-chain phases completed
- MFA, EDR, and PAM controls all must have failed or been bypassed before this step
- On non-ASUS hardware, the attacker must also side-load the signed driver (BYOVD), requiring admin to register it via
sc.exe create
Ensure bsitf.sys is loaded
C:\Windows\System32\drivers\. If the target is non-ASUS, the attacker brings a signed copy and registers it: sc.exe create bsitf binPath=C:\windows\temp\bsitf.sys type=kernel && sc.exe start bsitf. The driver is signed by ASUSTeK COMPUTER INC. and will load on systems without HVCI or WDAC driver-block policies.- Target runs Windows (any version supporting the driver)
- HVCI / WDAC driver-block policy does NOT cover bsitf.sys hashes
- Admin privileges to register kernel service
- HVCI-enabled systems with Microsoft's recommended driver blocklist will refuse the load for most known-bad hashes (only 2 of 14 known samples are HVCI-compatible per loldrivers.io)
- WDAC policies in enterprise environments increasingly block unsigned or known-vulnerable drivers
- Modern EDR agents flag
sc.exe create … type=kernelas high-severity
Open device handle and send IOCTL 0x222808
\\\\.\\bsitf and sends IOCTL 0x222808 with a caller-specified allocation size. The driver calls MmAllocateContiguousMemory with the user-supplied size, maps the result into the calling process via an MDL, and returns both the user-space virtual address and the physical address. No size validation, no allocation cap, no cleanup on handle close.- bsitf.sys loaded and device interface reachable
- Calling process has admin-level handle to the device
- Kernel exploit mitigations (SMEP, SMAP on supported CPUs) limit what can be done with the mapped memory alone
- The physical address leak is useful only if chained with a control-flow hijack or DMA attack — neither is provided by this CVE alone
MmAllocateContiguousMemory calls at unusual frequency; memory pressure alerts from performance monitoringAchieve impact: DoS or info leak
DRIVER_IRQL_NOT_LESS_OR_EQUAL or SYSTEM_SERVICE_EXCEPTION bugcheck — a bluescreen that takes down the single host. Info-leak path: The physical addresses returned defeat KASLR and can be used to map kernel structures for subsequent exploitation, but a separate vulnerability is required to achieve code execution. On v3.0.10.0 only, the NonPagedPool (executable) allocation allows writing shellcode at a known address, but no control-flow redirection mechanism is provided by this CVE.- Successful IOCTL call from Step 3
- For code execution: a secondary control-flow hijack vulnerability
- DoS is per-host — no lateral blast radius
- Info leak alone does not grant code execution without a secondary vulnerability
- Crash-recovery mechanisms (Windows Error Recovery, auto-restart) limit sustained DoS
- Enterprise environments with kernel crash monitoring will detect and respond quickly
!analyze -v in WinDbg); NonPagedPool usage monitoring via perfmon counters; SIEM alerts on unexpected system rebootsbsitf. This won't prevent exploitation but provides early detection of BYOVD attempts using this driver. Deploy as a standing detection rule.- Network firewalls / segmentation — The attack vector is purely local; no network traffic is involved in the exploitation. Firewall rules provide zero friction against this CVE.
- MFA / conditional access — The attacker already has local admin. MFA protects authentication flows, not post-authentication kernel driver interactions.
- Antivirus signature scanning — The driver is legitimately signed by ASUSTeK COMPUTER INC. and is not malware. AV will not flag it. The PoC itself is a standard DeviceIoControl call that is indistinguishable from legitimate driver usage.
- Windows Defender Exploit Guard (ASR rules) — Current ASR rules do not cover kernel driver IOCTL abuse. ASR targets Office macros, script interpreters, and credential theft — not signed driver exploitation.
The supporting signals.
| In-the-Wild Exploitation | Not observed. Not listed in CISA KEV. No GreyNoise or Shodan scanning activity detected. No reports of this CVE being weaponized in ransomware or APT campaigns as of October 2026. |
|---|---|
| Proof-of-Concept | Public. Rust-based PoC published by Hayaturehman Ahmadzai on July 15 2026. Demonstrates kernel memory allocation, userspace mapping, and physical address retrieval. DeepZero automated pipeline repo at github.com/416rehman/deepzero. No entries found on pocindex.io for this CVE ID. |
| EPSS | 0.00163 (0.163%) — approximately 16th percentile. Very low modeled probability of exploitation in the next 30 days. |
| KEV Status | Not listed in CISA Known Exploited Vulnerabilities catalog as of 2026-10-07. |
| CVSS Vector | CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:H/SC:H/SI:N/SA:H — CISA ADP vulnrichment score of 8.2 (High). Note: this is CVSS 4.0 with scope change reflecting kernel-level impact from an admin-context attack. No vendor-assigned CVSS score exists. |
| Affected Versions | ASUS System Control Interface v3 < v3.1.66.0, ASUS System Control Interface < v1.1.40.0, ASUS Business Manager ≤ v3.0.38.0. Driver file bsitf.sys versions 3.0.10.0, 3.1.10.0, 3.1.25.0 confirmed vulnerable. |
| Fixed Versions | System Control Interface v3 ≥ v3.1.66.0, System Control Interface ≥ v1.1.40.0, Business Manager > v3.0.38.0. Update via ASUS Live Update, MyASUS, or manual download from ASUS support. |
| BYOVD Catalog | Driver bsitf.sys is cataloged on loldrivers.io with 14 known hash samples. Only 2 of 14 are HVCI-compatible. Previously tracked under CVE-2024-33221 for older privilege-escalation primitives. |
| Disclosure Timeline | 2026-04-06: Discovery and PoC on Windows 11 24H2; ASUS PSIRT notified. 2026-07-14: CVE assigned. 2026-07-15: Vendor advisory and public disclosure via Full Disclosure mailing list. |
| Researcher | Hayaturehman Ahmadzai (blog.ahmadz.ai). Discovery via the *DeepZero* AI agent pipeline using Ghidra decompilation, Semgrep pattern matching, and Gemini 2.5 Pro + Claude 3.7 for analysis and PoC generation. |
Sources.
- NVD — CVE-2026-13585
- Full Disclosure — Hayaturehman Ahmadzai writeup and PoC
- Full Disclosure Mailing List — July 2026
- loldrivers.io — bsitf.sys driver entry
- DeepZero — AI Agent Pipeline for Driver Zero-Day Discovery
- OpenCVE — CVE-2026-13585
- The Hacker News — 54 EDR Killers Use BYOVD (BYOVD landscape context)
- Strix.ai — CVE-2026-13585 Analysis
Why this verdict
- Admin prerequisite is the dominant friction. The entire chain requires local administrator privileges — meaning the attacker has already completed initial access AND privilege escalation. This is not a vulnerability that enables compromise; it's a post-compromise utility that provides a marginal kernel primitive to an attacker who already owns the box.
- Per-host blast radius with no lateral movement. DoS crashes one system. Physical address disclosure is useful only on the exploited host and requires chaining with a *separate* control-flow hijack vulnerability to achieve code execution. There is no network propagation, no credential harvesting, no domain escalation inherent in this CVE.
- BYOVD utility is real but marginal. The driver is cataloged on loldrivers.io and is a valid BYOVD candidate, but its primitives (allocate-and-map kernel memory, physical address leak) are substantially weaker than the direct physical memory R/W, process handle manipulation, and callback registration offered by the 35+ drivers already circulating in active ransomware BYOVD kits. No evidence this driver has been adopted by threat actors.
- Role multiplier: ASUS System Control Interface / Business Manager is consumer and SMB OEM software. ASUS holds ~9-10% of the global laptop market but a smaller share (~3-5%) of enterprise fleets. ASUS hardware is not canonically deployed as domain controllers, hypervisors, identity providers, certificate authorities, CI/CD infrastructure, backup servers, or network edge appliances. The high-value-role floor does not apply to this component. In the BYOVD scenario, the driver can theoretically reach any Windows host including high-value systems, but (a) the attacker already has admin, (b) 12 of 14 known driver hashes are blocked by HVCI, and (c) superior BYOVD alternatives exist. The incremental risk to high-value roles from *this specific driver* is negligible.
- No exploitation signal. EPSS is 0.163% (16th percentile), not KEV-listed, no GreyNoise/Shodan scanning, no observed campaigns. The PoC is public but demonstrates a capability that admin already largely possesses through other means.
Why not higher?
The admin prerequisite means this vulnerability does not enable initial access or privilege escalation — it provides a marginal kernel primitive to an attacker who already has full administrative control of the endpoint. The blast radius is strictly per-host with no lateral movement capability. The BYOVD angle is theoretically concerning but practically moot: the specific primitives (allocate-and-map, not direct R/W) are inferior to dozens of other BYOVD drivers already in active use, and HVCI blocks 12 of 14 known samples. Elevating to HIGH would overstate the incremental risk to defenders who have already lost admin on an endpoint.
Why not lower?
A public PoC exists and the driver is signed by a major OEM, meaning it *can* be side-loaded onto non-ASUS systems. The DoS primitive is trivially reliable — a single IOCTL call with a large size will crash the host. Physical address disclosure, while requiring chaining, is a genuine KASLR bypass that could assist a sophisticated attacker building a kernel exploit chain. The loldrivers.io cataloging ensures security researchers and red teams are aware of it. Dropping to LOW would understate the reliability of the DoS and the potential BYOVD utility.
Crowdsourced verification payload.
Run this script on each target Windows host as a local administrator. Execute via powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-13585.ps1. No special modules required. The script checks for the presence and version of bsitf.sys and the associated ASUS software registry entries.
#Requires -RunAsAdministrator
<#
Check-CVE-2026-13585.ps1
Detects whether the host is vulnerable to CVE-2026-13585
(ASUS bsitf.sys arbitrary physical memory mapping)
Output: VULNERABLE / PATCHED / UNKNOWN
Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN
#>
$ErrorActionPreference = 'SilentlyContinue'
$vulnerable = $false
$found = $false
# Known driver file locations
$driverPaths = @(
"$env:SystemRoot\System32\drivers\bsitf.sys",
"$env:SystemRoot\System32\drivers\AsusBSItf.sys"
)
# Check for driver files
foreach ($path in $driverPaths) {
if (Test-Path $path) {
$found = $true
$fileVersion = (Get-Item $path).VersionInfo.FileVersionRaw
Write-Host "[*] Found driver: $path"
Write-Host "[*] Driver version: $fileVersion"
# Vulnerable versions: 3.0.10.0, 3.1.10.0, 3.1.25.0, and anything below 3.1.66.0
# for SCI v3, or below 1.1.40.0 for SCI v1
$major = $fileVersion.Major
$minor = $fileVersion.Minor
$build = $fileVersion.Build
if ($major -eq 3 -and $minor -le 1 -and $build -lt 66) {
$vulnerable = $true
Write-Host "[!] Driver version $fileVersion is BELOW fixed version 3.1.66.0"
} elseif ($major -eq 1 -and ($minor -lt 1 -or ($minor -eq 1 -and $build -lt 40))) {
$vulnerable = $true
Write-Host "[!] Driver version $fileVersion is BELOW fixed version 1.1.40.0"
} elseif ($major -lt 1) {
$vulnerable = $true
Write-Host "[!] Driver version $fileVersion is BELOW all known fixed versions"
} else {
Write-Host "[+] Driver version $fileVersion appears patched"
}
}
}
# Check for ASUS software in registry
$regPaths = @(
'HKLM:\SOFTWARE\ASUS\ASUS System Control Interface',
'HKLM:\SOFTWARE\ASUS\ASUS Business Manager',
'HKLM:\SOFTWARE\WOW6432Node\ASUS\ASUS System Control Interface',
'HKLM:\SOFTWARE\WOW6432Node\ASUS\ASUS Business Manager'
)
foreach ($regPath in $regPaths) {
$reg = Get-ItemProperty -Path $regPath -ErrorAction SilentlyContinue
if ($reg) {
$found = $true
$ver = $reg.Version
if (-not $ver) { $ver = $reg.DisplayVersion }
Write-Host "[*] Registry key found: $regPath (Version: $ver)"
}
}
# Check if driver is currently loaded
$loadedDriver = Get-WmiObject Win32_SystemDriver | Where-Object { $_.Name -match 'bsitf' -or $_.DisplayName -match 'bsitf' -or $_.DisplayName -match 'AsusBSItf' }
if ($loadedDriver) {
$found = $true
Write-Host "[*] Driver service is registered: $($loadedDriver.Name) — State: $($loadedDriver.State)"
}
# Check WDAC/HVCI status as compensating control
$hvci = Get-CimInstance -ClassName Win32_DeviceGuard -Namespace 'root\Microsoft\Windows\DeviceGuard' -ErrorAction SilentlyContinue
if ($hvci -and $hvci.VirtualizationBasedSecurityStatus -eq 2) {
Write-Host "[+] HVCI is ENABLED — BYOVD risk is reduced (12/14 known hashes blocked)"
} else {
Write-Host "[-] HVCI is NOT enabled — BYOVD side-loading of bsitf.sys is possible"
}
# Verdict
Write-Host ''
if (-not $found) {
Write-Host 'UNKNOWN — No ASUS bsitf.sys driver or related software detected on this host.'
exit 2
} elseif ($vulnerable) {
Write-Host 'VULNERABLE — Vulnerable version of bsitf.sys detected. Update ASUS System Control Interface immediately.'
exit 1
} else {
Write-Host 'PATCHED — ASUS driver/software present but at or above fixed version.'
exit 0
}