CVE-2018-19322
Executive Summary
CVE-2018-19322 is a high-severity (CVSS 7.8) privilege escalation vulnerability affecting multiple GIGABYTE software products, including APP Center, AORUS GRAPHICS ENGINE, XTREME GAMING ENGINE, and OC GURU II. The flaw resides in the GPCIDrv and GDrv low-level kernel drivers, which expose arbitrary I/O port read/write functionality to unprivileged local users. Successful exploitation allows an authenticated local attacker to achieve arbitrary code execution with elevated (kernel-level) privileges. Due to the local attack vector and ease of exploitation from user mode, this vulnerability poses significant risk to enterprise endpoints running the affected GIGABYTE utilities. The CVE is listed on CISA's Known Exploited Vulnerabilities (KEV) catalog, indicating confirmed exploitation activity 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 exists in two kernel-mode drivers shipped with GIGABYTE system utilities: GPCIDrv and GDrv. According to the NVD description, these drivers expose functionality that permits reading from and writing to I/O ports — a capability that is inherently privileged at the kernel level. The exposure is present when the vulnerable drivers are loaded on systems with the following software installed:
- GIGABYTE APP Center v1.05.21 and earlier
- AORUS GRAPHICS ENGINE before version 1.57
- XTREME GAMING ENGINE before version 1.26
- OC GURU II v2.08 and earlier
These drivers are installed to provide low-level hardware control (e.g., fan profiles, overclocking, voltage monitoring) for GIGABYTE and AORUS components. To perform these operations, the drivers open privileged communication channels (I/O ports) that map to system hardware resources such as the Super I/O controller, system management bus (SMBus), or graphics card registers.
The core issue is the lack of access control enforcement on the device interfaces exposed by these drivers. A local user with standard privileges can open a handle to the driver (e.g., through the device object it creates) and pass I/O control request structures that specify arbitrary I/O port targets and data payloads. The driver fails to validate that the requesting process has administrative intent or that the requested port falls within a legitimate hardware operation range. Consequently, the driver performs the requested I/O port access on behalf of the unprivileged caller.
The attack mechanism is analogous to the "arbitrary physical memory read/write" class of driver vulnerabilities: I/O port access is a powerful primitive because many system functions are configured through port-mapped I/O (e.g., APIC, PCI configuration space, DMA controllers). By writing to specific ports, an attacker can manipulate kernel state, reprogram hardware controllers, or write to physical memory regions if the ports map to memory-mapped I/O windows. The end goal is code execution at the kernel privilege level, typically achieved by overwriting kernel structures (e.g., a function pointer) with a payload address and triggering its invocation.
No specific IOCTL codes, device object names, or driver entry-point function names are provided in the NVD description beyond the driver filenames GPCIDrv and GDrv. The class of bug is well-known: improper access control on a driver interface (CWE-749 — Exposed Dangerous Method or Function). The combined read/write primitive is a direct escalation path from ring-3 (user mode) to ring-0 (kernel mode).
Exploitation Scenarios
Reconnaissance / Target Identification
An attacker with local access to an enterprise managed endpoint first enumerates installed software for the affected GIGABYTE utilities. This can be done via registry checks (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall), service list queries (sc query / sc queryex), or by checking running processes and driver files (driverquery /v). Detection of GPCIDrv or GDrv driver modules and matching version numbers confirms a vulnerable configuration. The attacker may also probe the system BIOS/SMBIOS for a GIGABYTE or AORUS motherboard brand to infer the likely presence of the bundled software suite.
Triggering the Flaw
The attacker — operating at low integrity (e.g., a standard domain user) — opens a handle to the vulnerable driver device. The driver exposes a standard Windows driver interaction point (device object with dispatch routines). An I/O control request (DeviceIoControl call) is crafted with an input buffer that specifies:
- The target I/O port address.
- The operation type (read or write).
- The payload (for write operations).
Because the driver lacks authorization checks to verify the caller is elevated, the request is serviced directly. The attacker does not need to trigger any race condition or exploit memory corruption — the flaw is purely a missing access control check on an exposed privileged method.
Payload / Execution Method (Clas-Level)
Two primary exploitation paths stem from the I/O port read/write primitive:
Port-to-Memory Translation: The attacker identifies an I/O port that maps to a memory-mapped region controlling system firmware or management controllers. For instance, writing to SMBus ports (0x0D00-0x0DFF) could reprogram voltage regulators or manipulate system board behavior. More critically, PCI configuration space ports (0xCF8/0xCFC) allow reprogramming Base Address Registers (BARs) to remap device DMA windows. This can enable DMA-based memory corruption.
Kernel Structure Overwrite: The attacker uses the I/O ports to program a DMA-capable device (or the chipset's internal DMA controller) to write attacker-controlled data into kernel memory. Using a "write-what-where" primitive, kernel function pointers are overwritten (e.g., a HAL interrupt dispatch table entry, or a kernel callback table) to point to a payload located in non-paged pool. A subsequent interrupt or timer tick invokes the overwritten pointer, executing the payload with ring-0 privileges.
Post-Exploitation Impact
Once kernel code execution is achieved, the attacker can:
- Disable security software (AV/EDR/anti-cheat).
- Install a kernel-level rootkit / bootkit persistence.
- Dump the SAM/SYSTEM hive to extract credentials.
- Read/write arbitrary physical memory, escalate to any other process.
- Pivot to domain controller using harvested credentials (if the compromised host is domain-joined and the account has lateral movement privileges).
The I/O port primitive is silent and hard to detect with standard anti-malware heuristics because no file is dropped at the user-mode level — the module is self-contained within the driver.
Impact Assessment
CVSS Breakdown (3.1)
- Base Score: 7.8 (High) — the AV:L reflects a local attack requirement; AC:L indicates no race conditions or skill barriers; PR:L reflects low privilege requirement (any authenticated user); UI:N — no victim interaction; S:U (Scope Unchanged) — the compromise stays within the security authority of the impacted host; C:H/I:H/A:H — complete confidentiality, integrity, and availability impact.
- EPSS: 0.01872 (77.5th percentile of exploited CVEs) — indicates material exploitation activity in the wild.
Business Impact:
- Affected Systems: All Windows workstations and (to a lesser degree) servers running GIGABYTE/AORUS system utilities for motherboard or GPU control. This notably includes gaming/creator PCs in studio environments and any enterprise that legitimately deploys GIGABYTE motherboards for workstation builds.
- Confidentiality: Complete loss — attacker gains kernel access and can read any process memory, including browser credentials, VPN keys, and corporate secrets.
- Integrity: Complete loss — kernel payloads allow disabling code-signing enforcement, patching kernel images, and tampering with firmware.
- Availability: Complete loss — kernel crash primitives (triggering BSoD) or permanent firmware bricking possible.
- Blast Radius: Host-level compromise can lead to domain-level compromise if the user's token has administrative rights on other systems via group policies.
- CISA KEV: Confirmed exploitation before the remediation deadline of 2022-11-14, indicating threat actors are actively using this for privilege escalation, likely in combination with other initial-access vectors.
Detection Guidance
Sigma Rule
title: GIGABYTE GPCIDrv/GDrv I/O Port Access Abuse
id: cve-2018-19322-io-driver-access
status: experimental
description: Detects suspicious DeviceIoControl calls targeting GIGABYTE vulnerable driver device objects (GPCIDrv / GDrv).
author: vultersit.com CTI Team
logsource:
category: process_access
product: windows
detection:
selection_driver_load:
Image|endswith:
- '\GPCIDrv.sys'
- '\GDrv.sys'
selection_ioctl:
TargetObject|contains:
- '\\Device\\GPCIDrv'
- '\\Device\\GDrv'
condition: selection_driver_load and selection_ioctl
falsepositives:
- Legitimate overclocking/u-utility operations by the GIGABYTE APP Center GUI while running as admin
level: high
Note: This rule uses file/device names derivable from the NVD description. If your EDR logs provide only process-level info, correlate on the presence of GIGABYTE processes spawning from a non-admin user context.
YARA Rule
rule GIGABYTE_Vuln_Drivers_CVE_2018_19322
{
meta:
author = "vultersit.com"
description = "Detects vulnerable GIGABYTE GPCIDrv / GDrv driver binaries"
cve = "CVE-2018-19322"
strings:
$s1 = "GPCIDrv" ascii nocase
$s2 = "GDrv" ascii nocase
$s3 = "GIGABYTE" ascii nocase
$s4 = "AORUS" ascii nocase
condition:
uint16(0) == 0x5A4D and // MZ header
2 of them and
filesize < 5MB
}
Note: Driver binaries differ per product; this rule matches on in-memory strings when scanning suspicious loaded drivers or memory dumps.
Suricata IDS Rule
alert ip any any -> any any (msg:"CVE-2018-19322 GIGABYTE Vulnerable Driver Download/Exfiltration - Executable (Office or MBR)"; sid:201819322; rev:1; content:"|4d 5a|"; content:"GPCIDrv"; nocase; content:"|00|"; classtype:attempted-admin; priority:1;)
Note: Exploitation is local, so network detection is limited. This rule targets drive-by downloaders that may drop the vulnerable driver as part of a staged attack; adjust to your logging capabilities. For most environments, better detection is via EDR/Windows event logs.
Elastic Detection
process where event.action == "start" and process.executable != null and
process.name in ("APP_Center.exe", "AORUS_Graphics_Engine.exe", "OCGURU.exe") and
process.parent.executable != null and
process.parent.name != "explorer.exe"
Alternative — detect the low-privilege process from which a malicious access originates:
file where event.action in ("write", "create") and
file.path : "C:\\Windows\\System32\\drivers\\GPCIDrv.sys" or
file.path : "C:\\Windows\\System32\\drivers\\GDrv.sys"
Note: Use the first query for spawned processes; second for driver drops — adjust to your data stream (sysmon or auditbeat).
Splunk SPL Query
index=windows sourcetype=WinEventLog:Security EventCode=4688
| search New_Process_Name IN (*APP_Center*, *AORUS_Graphics*, *OCGURU*)
| stats count by User, New_Process_Name, Parent_Process_Name
Or for driver load events:
index=windows sourcetype=WinEventLog:Microsoft-Windows-CodeIntegrity/Operational
| search "Driver" AND (GPCIDrv OR GDrv)
| table TimeCreated, Message
Or with Sysmon:
index=main sourcetype=XmlWinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=6
| search Image|endswith IN (GPCIDrv.sys, GDrv.sys)
Wazuh OSSEC Rule
<group name="windows, privileged_driver,">
<rule id="100322" level="12">
<if_sid>550</if_sid>
<match>GPCIDrv|GDrv</match>
<description>CVE-2018-19322: GIGABYTE vulnerable driver detected loaded on host.</description>
<group>sysmon_event6,</group>
</rule>
</group>
Note: Adjust to match your Wazuh agent’s EventChannel (Microsoft-Windows-Sysmon/Operational Event 6 — Driver Loaded).
Mitigation & Patch Guidance
Patch Confidence (2/4 — CLAIMED): The NVD lists vulnerable versions, the vendor has not published a detailed advisory for the fix. Single source claim — treat with caution.
Immediate Mitigations (days):
- Identify all endpoints with affected versions of APP Center, AORUS GRAPHICS ENGINE, XTREME GAMING ENGINE, or OC GURU II. Use software inventory (SCCM, InTune, or a registry scan for Uninstall keys).
- Immediately disable or block the vulnerable drivers via Windows Defender Application Control (WDAC) policy or via the standard driver-blocking mechanism:
- Block
GPCIDrv.sysandGDrv.sysvia a custom WDAC policy or via the registry keyHKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity.
- Block
- If the utilities are not business-critical, uninstall them entirely — they are not required for normal system operation.
- For critical systems where utilities are required, restrict the ability to load the drivers to Administrators only via group policy or by removing the
Usersgroup from the device object’s security descriptor (usingsc sdsetif the service can be configured). - Run a hunt for signs of prior exploitation — check for unusual kernel module loads, unscheduled reboots, or presence of driver files in non-standard directories (e.g.,
Temp).
Patch / Upgrade Steps (weeks):
- Visit the GIGABYTE support page for your specific motherboard/GPU model and download the latest version of each utility:
- AORUS GRAPHICS ENGINE — upgrade to v1.57 or later.
- XTREME GAMING ENGINE — upgrade to v1.26 or later.
- APP Center — upgrade to any version newer than 1.05.21 (verify on vendor site for exact build number).
- OC GURU II — upgrade to any version newer than v2.08.
- Because patch confidence is 2/4, do not rely solely on the vendor patch — still apply the driver-blocking policy as defense-in-depth even after upgrade.
- After upgrading, verify the driver file version (right-click → Properties → Details) matches the fixed version on GIGABYTE’s site.
Long-term Hardening:
- Implement Windows Defender Application Control (WDAC) to allow-signed, validated drivers only — this would block GPCIDrv/GDrv by default if not properly signed by a trusted vendor (but they are signed; compensate by removing them from allowed list).
- Enforce least privilege — standard users should not have interactive session access to systems running tuning utilities; run these tools only from an admin console.
- Deploy Microsoft Vulnerable Driver Blocklist (in Windows 11 2022 update or via the recommended blocklist rule) — this list now includes drivers with I/O port abuse capabilities.
- Ensure Hypervisor-protected Code Integrity (HVCI) and Virtualization-Based Security (VBS) are enabled on endpoints to block kernel-level code execution from arbitrary payloads.
- Use EDR behavioral detection to monitor for unexpected
DeviceIoControlcalls to kernel drivers from low-privilege processes. - Implement network-level macro-based blocking for download of unsigned ZIP/RAR that may contain these drivers (limited value, as initial access is local).
References
- NVD Entry — CVE-2018-19322: https://nvd.nist.gov/vuln/detail/CVE-2018-19322 (NVD description and CVSS vector used in this report).
- CISA Known Exploited Vulnerabilities (KEV) Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2018-19322 listed; remediation deadline 2022-11-14.
- MITRE ATT&CK — T1068: Exploitation for Privilege Escalation: https://attack.mitre.org/techniques/T1068/ — technique mapping for the exploitation phase.
- CWE-749 — Exposed Dangerous Method or Function: https://cwe.mitre.org/data/definitions/749.html — vulnerability class that the driver failure falls under.
- GIGABYTE Product Support / Download Page (for fixed versions): https://www.gigabyte.com/Support/Utility — verify latest revisions for APP Center, AORUS GRAPHICS ENGINE, XTREME GAMING ENGINE, and OC GURU II.
Threat Actor Activity / Exploitation in the Wild: CISA KEV listing confirms this CVE has been exploited in the wild. No specific APT attribution or public campaign documentation was found in the data provided. The EPSS score (77.5th percentile) reinforces a high likelihood of ongoing exploitation attempts. Additional researcher commentary is sparse in the source data; when considering remediation, treat this as a confirmed active threat.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.