CVE-2018-19320
Executive Summary
CVE-2018-19320 is a privilege escalation vulnerability residing in the GDrv low-level kernel driver distributed with multiple GIGABYTE software products, including APP Center, AORUS GRAPHICS ENGINE, XTREME GAMING ENGINE, and OC GURU II. The driver exposes a ring0 memory-copy routine that is reachable from user mode without adequate access control, allowing any local user with standard privileges to achieve arbitrary kernel code execution and thereby take complete control of the affected system. The vulnerability carries a CVSS v3.1 base score of 7.8 (High) and has been added to CISA's Known Exploited Vulnerabilities catalog, confirming active exploitation in the wild. All affected GIGABYTE software versions — APP Center up to 1.05.21, AORUS GRAPHICS ENGINE below 1.57, XTREME GAMING ENGINE below 1.26, and OC GURU II up to 2.08 — should be considered compromised if present on any system.
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 resides in the GDrv low-level driver, a kernel-mode component that ships as part of GIGABYTE's system utility suite. The NVD description identifies the root cause as the driver exposing "ring0 memcpy-like functionality" to unprivileged user-mode callers. The driver exposes a memory-copy primitive that operates at CPU privilege level 0 (kernel mode, "ring0") and is accessible through the standard Windows device I/O control (IOCTL) dispatch mechanism. The critical component is the lack of input validation and privilege checks prior to executing the copy operation.
Vulnerability Mechanism: A "memcpy-like" primitive at ring0 means the driver allows a caller to specify source and destination memory addresses, and the driver will copy a controlled number of bytes between them while executing in kernel mode. When a user-mode application can invoke this routine without validation, an attacker can specify a destination address in kernel memory. By arranging source data in user-mode memory (e.g., a crafted buffer containing shellcode), the attacker can write arbitrary content to any kernel address. This provides a direct write-what-where primitive — the most powerful class of kernel vulnerability — enabling the attacker to overwrite kernel structures (e.g., token fields of the current process, kernel function pointers, or callback tables) to escalate privileges to NT AUTHORITY\SYSTEM.
Attack Surface: The attack surface is any Windows system with one of the following GIGABYTE utilities installed: APP Center (≤ v1.05.21), AORUS GRAPHICS ENGINE (< v1.57), XTREME GAMING ENGINE (< v1.26), or OC GURU II (≤ v2.08). These products are commonly deployed on GIGABYTE gaming motherboards, laptops, and GPU products. The vulnerable driver, GDrv.sys, is installed as a kernel service and loads at boot time, meaning the attack surface persists when the GUI utility is not actively running. Since the attack requires only local access and low privileges (as reflected in the CVSS vector), the driver is effectively an always-on privilege-escalation vector on affected systems.
Attack Complexity is Low: The CVSS score of 7.8 with AC:L indicates no special conditions or race conditions are required. Any authenticated local user can interact with the driver's IOCTL interface directly. No user interaction (UI:N) is required, and the attack does not require system access (PR:L). The scope is Unchanged (S:U) — the compromise stays within the OS security boundary, but the impact on Confidentiality, Integrity, and Availability are all High (C:H/I:H/A:H) — kernel-level arbitrary code execution trivially provides complete control.
Insufficient technical detail is available in the public description to identify exact IOCTL codes, function offsets, or the driver's internal symbol names. The vulnerability class — an exposed ring0 memory-copy primitive — is well understood and sufficient to characterize exploitation methodology.
Exploitation Scenarios
Step 1 — Reconnaissance and Target Identification: The attacker requires local access to a target Windows system, which can be obtained through standard user credentials, a prior foothold from another vulnerability (e.g., phishing or lateral movement), or a physical access scenario. Target identification consists of checking for the presence of the vulnerable driver. The attacker queries the Windows service manager (e.g., via sc query GDrv or by enumerating kernel modules with Windows Management Instrumentation) to confirm the driver's presence and version. Alternatively, the attacker inspects installed GIGABYTE utilities to determine if any fall within the affected version range. Low-privilege users can enumerate installed drivers on Windows.
Step 2 — Triggering the Vulnerability-Class Flaw: Once the vulnerable driver is confirmed present, the attacker opens a handle to the driver's device object and issues a crafted IOCTL request to invoke the memcpy-like routine. As no privileges beyond PR:L are required, a standard user can access the driver's device. The attacker crafts the IOCTL buffer to specify: (a) a source address pointing to user-mode memory containing the payload, (b) a destination address pointing to the kernel structure to be overwritten, and (c) a size parameter controlling the copy length. The driver's hardware functionality that calls the memcpy routine does not validate that the destination resides in kernel space or that the source is validated — the copy executes at ring0, yielding a write-what-where primitive.
Step 3 — Payload and Execution Method: The attacker prepares a payload in user-mode memory — typically a token-stripping shellcode that modifies the current process's token to that of the SYSTEM process, or code that installs a kernel callback or overwrites a function pointer (e.g., in the system service descriptor table, SSDT) to redirect control flow to attacker-controlled code. The attacker issues the malicious IOCTL; the driver copies the shellcode to the specified kernel address and then relies on the overwritten pointer to gain control. Shellcode must account for Windows kernel protections (e.g., SMEP/SMAP on modern CPUs) — modern exploits typically use ROP chains to disable these protections before executing shellcode. Because the memcpy primitive is not exploited via a race condition but directly through the IOCTL, the entire exploitation sequence can complete in milliseconds.
Step 4 — Post-Exploitation Impact: Successful exploitation yields kernel-level code execution with SYSTEM privileges. The attacker can now: read and write arbitrary kernel memory; enable or disable security products (e.g., AV, EDR endpoint detection agent) by terminating their processes or patching their kernel callbacks; create new administrator accounts; disable Windows Defender and firewall rules; dump LSASS memory to harvest domain credentials for lateral movement; and establish persistence via kernel callbacks, scheduled tasks, or driver loading. Because the initial access is local and low-privilege, this vulnerability is a classic "local privilege escalation" leg in a multi-stage attack chain — e.g., a phishing email delivers a downloader that drops a kernel exploitation kit.
No public PoC code is referenced in the CVE data; however, CISA KEV inclusion confirms this vulnerability has been exploited in the wild. The attack chain is inferred from the write-what-where vulnerability class.
Impact Assessment
Business Impact: Complete system compromise. The CVSS v3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) rates this as High severity (7.8). Because the impacted software is preinstalled or shipped with GIGABYTE gaming motherboards, graphics cards, and OEM systems, enterprises with GIGABYTE hardware at any level (employee workstations used for content creation, engineering workstations, or OEM deployments) are exposed. Any workstation with a GIGABYTE motherboard or GPU that has the vendor utility software installed is inside the blast radius.
Blast Radius:
- System takeover: Full kernel compromise enables persistence, data exfiltration, and complete bypass of OS security mechanisms.
- Lateral Movement: SYSTEM-level access on a workstation provides credentials and network pivots to reach servers, domain controllers, or privileged infrastructure.
- Data Confidentiality: All High (C:H) — local files, credentials in memory, and encrypted volumes are accessible.
- Supply-Chain Angle: GIGABYTE utilities are commonly included on new OEM hardware, meaning fresh out-of-box systems in enterprise or production environments may be vulnerable before IT patching catches up.
EPSS Context: EPSS score of 0.03597 (88.4th percentile) indicates this is among the more actively exploited CVEs relative to the broader vulnerability population. Its presence on CISA's KEV list with a mandated remediation deadline of 2022-11-14 confirms real-world exploitation and elevates the urgency beyond typical patching cadence.
Detection Guidance
Sigma Rule
The Sigma rule below detects the I/O driver loading and IOCTL interactions with the GDrv driver. Note that since the exploitation may be performed purely via kernel driver IOCTLs without spawning new processes, the most reliable detection is the creation of exploitative user-mode processes or unusual handles to the \.\GDrv device.
title: GIGABYTE GDrv.kd Kernel Driver Exploitation Attempt
id: c5f7f7c1-6a2e-4f2d-84a1-9e2b3c0d1e5a
status: experimental
description: Detects process creation attempting to open GIGABYTE GDrv device or load the vulnerable driver, indicating CVE-2018-19320 exploitation attempt.
author: ValtersIT Threat Intel
logsource:
category: process_creation
product: windows
detection:
selection_driver_image:
Image|endswith:
- '\gdrv.sys'
selection_driver_service:
Description|contains: 'GDrv'
selection_device:
CommandLine|contains: '\\.\GDrv'
condition: selection_driver_image or selection_driver_service or selection_device
fields:
- Image
- CommandLine
level: high
falsepositives:
- Legitimate GIGABYTE utility software opening its own driver
- Systems with GIGABYTE App Center actively managing GPU settings
tags:
- attack.privilege_escalation
- attack.t1068
- cve.2018-19320
YARA Rule
Because no specific malware binary or exploit kit has been publicly associated with this CVE, the YARA rule targets the known identifiers of the vulnerable driver module.
rule CVE_2018_19320_GIGABYTE_GDrv_Driver
{
meta:
author = "ValtersIT Threat Intel"
date = "2024-05-17"
description = "Detects GIGABYTE GDrv.sys low-level driver binary and related driver package files"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2018-19320"
cve = "CVE-2018-19320"
severity = "HIGH"
strings:
$driver_name = "GDrv.sys" ascii wide
$driver_desc = "GIGABYTE GDrv" ascii wide
$device_name = "\\Device\\GDrv" ascii wide
$oem_info = "GIGABYTE" ascii wide
condition:
uint16(0) == 0x5A4D and filesize < 2MB and
1 of ($driver_name, $driver_desc, $device_name) and 1 of ($oem_info)
}
Suricata IDS Rule
This rule focuses on network-level detection, which is the EDR-distinct perimeter approach. The exploitation is local, but detection can trigger on remote system management sessions where a threat actor stages or propagates the exploit. The realistic detection focuses on Windows management/remote execution channels that deliver the exploit payload.
alert http any any -> any any (
msg:"CVE-2018-19320 GIGABYTE GDrv.sys Exploitation/Propagation Attempt";
content:"GDrv.sys";
content:"GIGABYTE";
classtype:attempted-admin;
reference:cve,2018-19320;
sid:3001234; rev:1;
)
Elastic Detection
This EQL rule detects suspicious Windows process activity commonly seen during privilege escalation via kernel drivers — a user-mode process opening the GDrv device object and the subsequent driver load.
/* Detect process opening the GDrv device object */
sequence by host.id
[file where event.action == "open" and file.path == "\\\\.\\GDrv"]
[process where event.action == "start" and
user.name : ("*guest*", "*user*") or
process.parent.name : ("cmd.exe", "powershell.exe")]
Splunk SPL Query
index=windows sourcetype=WinEventLog:Security
| search (EventCode=4656 AND ObjectName="\\Device\\GDrv") OR (EventCode=4688 AND New_Process_Name="*gdrv*")
| eval cve="CVE-2018-19320"
| table _time, host, user, EventCode, ObjectName, New_Process_Name, Process_Command_Line
| sort - _time
Wazuh OSSEC Rule
Wazuh with the Sysmon or Windows Security channel can detect process creation linked to the vulnerable driver.
<rule id="100301" level="12">
<if_sid>92050</if_sid>
<field name="win.eventdata.image">gdrv.sys</field>
<description>CVE-2018-19320 - GIGABYTE GDrv.sys kernel driver loaded - potential privilege escalation</description>
<group>windows_application,sysmon_event1,cve_2018_19320,</group>
</rule>
<rule id="100302" level="12">
<if_sid>92050</if_sid>
<field name="win.eventdata.commandLine">gdrv*\.exe</field>
<description>CVE-2018-19320 - GIGABYTE GDrv command line access detected</description>
<group>windows_application,sysmon_event1,cve_2018_19320,</group>
</rule>
Mitigation & Patch Guidance
Patch Confidence Assessment: The patch is rated 2/4 (CLAIMED) — a patch claim exists but has not been independently verified by multiple sources. Only NVD lists the fixed versions. Organizations must verify the installed utility version directly and treat the patched release as provisional until confirmed.
1) Immediate Mitigations:
- Remove or disable the vulnerable driver: The GDrv.sys kernel driver is the only vulnerable component. Administrators can disable the driver via the Windows Device Manager (under "System devices") or via command line:
sc config GDrv start= disabled. This prevents the driver from loading at boot. If the utilities are not required, uninstall them entirely and verify the driver removal fromC:\Windows\System32\drivers\GDrv.sys. - Restrict user privileges: Enforce least-privilege on all endpoints; ensure standard users cannot load kernel drivers (default Windows hardening policy on modern versions). The CVSS low-privilege requirement (PR:L) means restricting driver access through Windows access control lists on the device object (
\\.\GDrv) can mitigate if the driver must remain installed. - Application allowlisting: Use application control (e.g., Windows Defender Application Control) to block unknown binaries that attempt to interact with the driver interface.
- Apply the CISA KEV mandated remediation timeline: remediation was required by 2022-11-14. Any system still unpatched after this date should be treated as potentially compromised.
2) Patch/Upgrade Steps:
- GIGABYTE APP Center: Upgrade to version newer than 1.05.21 (verify the latest available from GIGABYTE support page).
- AORUS GRAPHICS ENGINE: Upgrade to version 1.57 or later.
- XTREME GAMING ENGINE: Upgrade to version 1.26 or later.
- OC GURU II: Upgrade to version newer than 2.08.
- Download the respective utilities only from GIGABYTE's official support website — do not accept updates from third-party sources.
- If the system is managed by enterprise software deployment tools (SCCM, Intune, etc.), push upgrades to all endpoints hosting these utilities.
3) Long-Term Hardening:
- Determine whether GIGABYTE utility software is required for the organization's hardware. For gaming motherboards purchased for office use, the overclocking/GPU-tuning utilities serve no enterprise function and should be permanently removed from the image.
- Integrate GIGABYTE core software into the enterprise baselining process — the old CVE illustrates that vendor-supplied hardware utilities can become the weakest link in the Windows security architecture.
- Reduce attack surface by maintaining a complete inventory of all kernel drivers installed across endpoints (e.g., via Microsoft Defender for Endpoint's device inventory or WMI enumeration).
- Since the vulnerability enabled kernel code execution, any endpoint confirmed to have been exploited while unpatched (before version upgrades) should be reimaged from a known-good source, not merely patched; kernel rootkits can persist beyond standard AV scanning.
- Review the vendor's security advisory and subscribe to GIGABYTE security notifications for future driver updates.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2018-19320 — Official NVD record with CVSS 3.1 vector and description.
- CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CISA KEV entry for CVE-2018-19320 (remediation date 2022-11-14), categorizes this as actively exploited.
- GIGABYTE Support/Downloads (vendor advisory): https://www.gigabyte.com/Support/Utility — Official download and update page for APP Center, AORUS GRAPHICS ENGINE, XTREME GAMING ENGINE, and OC GURU II; the authority for patched versions.
- MITRE ATT&CK — Exploitation for Privilege Escalation (T1068): https://attack.mitre.org/techniques/T1068/ — Technique mapping for local kernel exploitation of this vulnerability.
- EPSS Data (FIRST.org): https://www.first.org/epss/ — EPSS model context; score 0.03597 places this CVE in the 88.4th percentile of exploited CVEs, corroborating in-the-wild evidence along with CISA KEV.
No specific threat actor campaigns have been publicly attributed to this CVE; however, CISA KEV inclusion confirms exploit-in-the-wild activity. Given the 2018 disclosure and the presence of public exploitation discussions in the security research community, this vulnerability is considered a well-known access vector for commodity malware and threat actors targeting systems with GIGABYTE hardware.
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.