ASUS DriverHub Update TOCTOU Local Privilege Escalation — CVE-2026-1880
by seokjohn · 2026-07-05
- Severity
- Medium
- CVE
- CVE-2026-1880
- Category
- binary
- Affected product
- ASUS DriverHub (driver update utility)
- Affected versions
- Versions using the vulnerable SupportTemp driver-update flow (per source repository)
- Disclosed
- 2026-07-05
- Patch status
- patched
Tags
References
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-04 |
| Author / Researcher | seokjohn |
| CVE / Advisory | CVE-2026-1880 |
| Category | binary |
| Severity | Medium |
| CVSS Score | Not specified in source |
| Status | PoC |
| Tags | windows, toctou, race-condition, lpe, driverhub, asus, local-privilege-escalation, shellexecute |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | ASUS DriverHub (driver update utility) |
| Versions Affected | Versions using the vulnerable SupportTemp driver-update flow (per source repository) |
| Language / Platform | C++ / Windows |
| Authentication Required | Local-only (low-privileged local user) |
| Network Access Required | No |
Summary
ASUS DriverHub updates drivers by downloading a package, extracting it to C:\ProgramData\ASUS\AsusDriverHub\SupportTemp\<driver_name>, and later launching setup.exe from that directory via ShellExecuteExW. Because the driver folder name can be predicted from model.xml and the extraction step skips folders that already exist, a low-privileged local user can pre-create the expected folder with an attacker-controlled setup.exe before the legitimate update runs. By placing an oplock on setup.ini to control the timing window, the attacker can swap in a malicious payload between the check and the execution of the installer, causing DriverHub to launch attacker-controlled code with the elevated privileges it runs under. The included PoC (ASUS_HUB_TOCTOU) automates directory pre-creation and race-window handling, while setup_payload is a stand-in payload binary that demonstrates code execution and privilege confirmation once launched.
Vulnerability Details
Root Cause
DriverHub’s update routine resolves and launches setup.exe from a fixed, predictable path under SupportTemp without re-validating file ownership, integrity, or existence immediately before execution, and its DLL (ToolsPageDLL.dll, function selectInstall) calls ShellExecuteExW purely based on path resolution — a classic time-of-check-to-time-of-use (TOCTOU) gap.
Attack Vector
- Predict the target driver’s folder name in advance from
model.xml. - Pre-create
C:\ProgramData\ASUS\AsusDriverHub\SupportTemp\<driver_name>\setup.exewith attacker-controlled content before an update is triggered. - Wait for/trigger the DriverHub update process; the ZIP extraction step skips the already-existing folder, leaving the planted file in place.
- Place an oplock on
setup.inito detect and control the timing of the update process reaching the execution step. - During the race window, swap the planted file for the final malicious payload.
- DriverHub invokes
ShellExecuteExWon the path, executing the attacker’s payload with the elevated privileges DriverHub runs under.
Impact
A low-privileged local user can escalate to administrator/SYSTEM-level code execution, resulting in full local privilege escalation and potential complete host compromise.
Environment / Lab Setup
Target: Windows host with ASUS DriverHub installed (vulnerable update flow)
Attacker: Local low-privileged Windows account; Visual Studio toolchain to build ASUS_HUB_TOCTOU and setup_payload
Proof of Concept
PoC Script
See
ASUS_HUB_TOCTOU/main.cpp(withWin-Ops-Master.cpp/.handNtDefine.h) andsetup_payload/payload.cppin this folder. Full technical write-up available inASUS_HUB_TOCTOU.pdf.
| |
ASUS_HUB_TOCTOU reads DriverHub’s model.xml to predict driver folder names, pre-creates the target directory/setup.exe, and manages the oplock-based race window; setup_payload builds into the substituted setup.exe that demonstrates privilege confirmation (e.g. printing the executing user) once launched by DriverHub.
Detection & Indicators of Compromise
Signs of compromise:
- Non-ASUS-signed
setup.exebinaries appearing underSupportTemp\<driver_name>\. - Oplock/file-lock activity on
setup.inifrom a non-DriverHub process. - Unexpected elevated processes spawned by
ADU.exe/ToolsPageDLL.dllshortly after a driver update.
Remediation
| Action | Detail |
|---|---|
| Primary fix | No vendor patch confirmed as of 2026-07-05 — monitor for advisory (researcher was credited via the ASUS Hall of Fame) |
| Interim mitigation | Restrict write access to C:\ProgramData\ASUS\AsusDriverHub\SupportTemp, validate installer signatures/integrity immediately before execution, and avoid launching updates from paths writable by low-privileged users |
References
Notes
Mirrored from https://github.com/seokjohn/CVE-2026-1880 on 2026-07-05.