☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-782
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2018-19321

CVE-2018-19321 Vulnerability in Gigabyte
📅 PUBLISHED: 2018-12-21 00:00 UTC 🔄 UPDATED: 2026-09-26 06:30 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
🚨 ACTIVELY EXPLOITED (KEV) 💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 3.67%
👁️
3.67% probability
91.8× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1068
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.8
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2018-19321 is a privilege escalation vulnerability affecting the low-level kernel drivers GPCIDrv and GDrv shipped with a family of GIGABYTE utilities: APP Center (≤ v1.05.21), AORUS GRAPHICS ENGINE (< 1.57), XTREME GAMING ENGINE (< 1.26), and OC GURU II (≤ v2.08). The drivers expose unauthenticated functionality that allows any local user to read and write arbitrary physical memory, which effectively grants kernel-level code execution and full system compromise. The vulnerability has been added to CISA's Known Exploited Vulnerabilities catalog with a remediation deadline of 2022-11-14, indicating active exploitation in the wild. With a CVSS score of 7.8 (High), this flaw is a low-complexity, high-impact local privilege escalation vector that should be prioritized for patching.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in two low-level kernel drivers — GPCIDrv and GDrv — that ship as components of multiple GIGABYTE software packages. These drivers expose functionality that permits arbitrary physical memory read and write operations. The core issue is a classic design flaw where hardware abstraction and control functionality (typically used by overclocking and system-tuning utilities to interact with PCI devices, chipset registers, and memory-mapped I/O) is made available to any caller without adequate access control or input validation.

From a technical standpoint, the drivers likely implement direct I/O control (IOCTL) handlers that map physical memory pages into user space or perform read/write operations on physical addresses supplied by the caller. The critical flaw is the absence of a privilege check or an address-range validation: a low-privileged process can invoke these IOCTLs and supply arbitrary physical memory addresses, causing the driver to read from or write to those addresses on behalf of the caller.

Because physical memory access bypasses all standard operating system memory protections (paging, MMU, access control lists), an attacker with this primitive can:

  1. Read kernel memory to harvest credential material, tokens, or encryption keys.
  2. Write to kernel memory to patch out security checks, disable driver signature enforcement, or directly modify the integrity of the kernel.
  3. Locate and modify the System Service Descriptor Table (SSDT) or other kernel structures to install a rootkit.

The attack surface is any system with the GIGABYTE software installed. The driver is loaded during system startup, meaning the vulnerable code is present in memory from boot, and there is no requirement for user interaction beyond having local access to the machine. The combination of AV:L/AC:L/PR:L in the CVSS vector confirms that any local user with basic access can exploit the driver; the high confidentiality, integrity, and availability impact (C:H/I:H/A:H) indicates total system compromise.

It should be noted that the NVD description and the CNA title provide no additional implementation-specific details such as the actual IOCTL control codes, function names, or vulnerable code paths. The absence of public exploit code (Nuclei Template: NO, Exploit Code: NO) further limits a more granular analysis. The attack mechanism described above is inferred from the vulnerability class of "arbitrary physical memory read/write from an unprivileged driver interface," which is a well-known class with numerous prior examples (e.g., MSI Afterburner, EVGA Precision X, and similar utilities from other vendors). For a definitive implementation-level analysis, reverse engineering of the driver binaries would be required.


Exploitation Scenarios

Public exploit code has been reported, but no specific PoC repository or exploit details are available in the provided data. The attack chain below is therefore inferred from the vulnerability class and general Windows privilege escalation techniques.

Step 1 — Reconnaissance / Target Identification. The attacker must first gain local access to the target system — either as a standard user via legitimate credentials, through a prior compromise (e.g., phishing that drops a dropper), or by physical access to an unattended machine. Since the utility suite is commonly pre-installed on GIGABYTE motherboards, the attacker can inspect running processes and loaded kernel modules to confirm the presence of GPCIDrv.sys and/or GDrv.sys. This can be done via driverquery or by enumerating system services, without requiring any elevated privileges. Performing a process listing to confirm the running GIGABYTE application (e.g., APP Center, OC GURU) is a straightforward approach.

Step 2 — Triggering the Flaw. The attacker creates a small custom application or uses an existing tool to open a handle to the vulnerable driver device (e.g., \\.\GPCIDrv or \\.\GDrv). By sending crafted IOCTL requests — specifically the ones that handle memory mapping or read/write operations — the attacker supplies physical addresses of interest. Because the driver lacks the required caller-context privilege checks, these requests are processed at the kernel level, and the physical memory access is performed without validation (no IMM or MMIO address range restriction). The low complexity (AC:L) means the attacker only needs to identify the correct IOCTL control codes, which can be discovered by reverse-engineering the driver binary.

Step 3 — Payload / Execution Method. The attacker leverages the arbitrary write primitive to disable kernel protection mechanisms. A common technique is:

  • Locate the kernel's CI.dll (Code Integrity) module and patch out the signature verification routine, allowing unsigned kernel drivers to be loaded.
  • Alternatively, modify the current process token's privileges to grant SeDebugPrivilege or SeLoadDriverPrivilege, or directly spawn a new process with SYSTEM integrity level.
  • A more direct approach is to use the arbitrary memory write to overwrite the System Service Descriptor Table (SSDT) entry for a frequently called kernel function, redirecting it to attacker-controlled shellcode placed in a user-mode buffer (leveraging SMEP/ROP if those mitigations are present). This yields kernel-mode code execution with the ability to disable EDR, tamper with security software, or escalate to SYSTEM and create a new admin account.

Step 4 — Post-Exploitation Impact. With kernel-level access, the attacker can:

  • Install a kernel-mode rootkit that survives reboots and hides malicious processes, files, and network connections.
  • Dump credential material (e.g., from LSASS) for lateral movement within the enterprise.
  • Disable security controls (AV, EDR, exploit mitigations) to ensure persistence.
  • Gain full system control, leading to data exfiltration and ransomware deployment. In a managed enterprise environment, an attacker could also move laterally to other systems using harvested domain credentials.

Note: The NVD data reports that a PoC/exploit is public, so exploitation in the wild is plausible regardless of the availability of a specific repository in this data. CISA's KEV listing confirms active exploitation prior to 2022-11-14.


Impact Assessment

This vulnerability is rated 7.8 High with the vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. The score reflects a high-impact chain:

  • Attack Vector (AV:L): Local access is required; the attacker must be a local user on the machine. This limits remote exploitation without an initial foothold, but once an attacker has any local access (even as a guest or low-privilege user), the entire system is at risk.
  • Attack Complexity (AC:L): No specialized conditions, race windows, or timing requirements — exploitation is straightforward.
  • Privileges Required (PR:L): Only standard user privileges are needed; no admin rights required to trigger the vulnerable driver interface.
  • User Interaction (UI:N): No interaction from the victim is required after the initial foothold.
  • Scope (S:U): Impact is confined to the single host.
  • C/I/A: High/High/High: Full confidentiality breach (kernel memory reads), full integrity compromise (arbitrary memory writes), and complete availability loss (kernel panic or intentional system crash).

Business impact:

  • Affected Systems: Any enterprise workstation or server using GIGABYTE motherboards with the bundled utility software (APP Center, AORUS GRAPHICS ENGINE, XTREME GAMING ENGINE, OC GURU II). This is especially relevant in environments where custom-built workstations or gaming-class systems are used for engineering, design, or data science workloads.
  • Blast Radius: The vulnerability is host-local; however, in a domain environment, the host-level compromise becomes a staging point for lateral movement. If the exploited workstation has access to sensitive internal systems or administrative shares, the blast radius expands to the network.
  • Data Exposure: The arbitrary memory read capability allows the attacker to capture credentials, encryption keys, and any transient data in kernel buffers, potentially compromising adjacent systems and services.

The EPSS score of 0.03671 places this CVE in the top ~11% of exploited CVEs, and the CISA KEV designation (remediation deadline 2022-11-14) signals confirmed in-the-wild exploitation. Given the age of the advisory (2018) and the fact that many systems still run older GIGABYTE utility builds, this remains a high-priority mass-harden item.


Detection Guidance

The following detection rules target the local exploitation of the GIGABYTE driver vulnerability. The primary observables are: (1) loading of user-mode code that opens devices \\.\GPCIDrv and \\.\GDrv, (2) suspicious IOCTL call patterns to these devices, and (3) post-exploitation behaviors such as unsigned driver loading or kernel memory manipulation.

Sigma Rule

The Sigma rule below detects the creation of a device handle to the vulnerable GIGABYTE drivers by a non-system process, which is a strong precursor to the IOCTL exploitation phase. The rule applies to Windows Sysmon Event ID 3 (Network connection) — but for device access, we target the DeviceControl events, specifically Sysmon Event ID 18 (Pipe/Device event) or NtCreateFile events. Since a precise IOCTL-based detection requires instrumentation not always available, this rule uses the process and device-context discovery step as an indicator.

A more robust approach is the combination of Sysmon Event ID 18 (named pipe / device connection) with a Device filter for \\.\GPCIDrv or \\.\GDrv:

title: GIGABYTE Driver Device Access - Privilege Escalation
id: 86e2e12a-1d3b-4f77-9df7-c4c2e2b1a4f0
status: experimental
description: Detects a process opening a handle to the vulnerable GIGABYTE kernel drivers, a precursor to arbitrary physical memory read/write exploitation (CVE-2018-19321).
author: valtersit.com threat intelligence team
date: 2024/07/18
logsource:
    product: windows
    category: process_creation
detection:
    selection:
        EventID: 1
        Image|endswith:
            - '\cmd.exe'
            - '\powershell.exe'
            - '\rundll32.exe'
            - '\wscript.exe'
            - '\cscript.exe'
            - '\mshta.exe'
        CommandLine|contains:
            - 'GPCIDrv'
            - 'GDrv'
    filter:
        ParentImage|endswith:
            - '\svchost.exe'
            - '\services.exe'
    condition: selection and not filter
falsepositives:
    - Legitimate GIGABYTE utility processes (e.g., APP Center) accessing the driver
    - Support team using vendor tools
level: high
tags:
    - attack.privilege_escalation
    - attack.t1068
    - cve.2018-19321

Additionally, a Sysmon rule using Event ID 1 with the driver image module load is less effective. The above detects command-line usage of driver names, which covers the common pattern of attackers invoking sc.exe or DeviceIoControl via scripting languages. False positives are low when restricted to suspicious interpreter processes.

YARA Rule

Targets the embedded driver binaries (GPCIDrv.sys, GDrv.sys) or any in-memory copies. Since no specific byte patterns are public, the rule focuses on identifying altered or injected versions of the drivers by matching a general code section of the Windows PE loader for these known vendor driver names (in memory-detecting tools like malpedia).

rule CVE_2018_19321_GIGABYTE_Driver
{
    meta:
        author = "valtersit.com"
        description = "Detect GIGABYTE GPCIDrv/GDrv drivers that may be abused for arbitrary memory r/w (CVE-2018-19321)"
        reference = "CVE-2018-19321"
        date = "2024-07-18"
    strings:
        $s1 = "GPCIDrv" ascii fullword
        $s2 = "GDrv" ascii fullword
        $s3 = "GIGABYTE" ascii fullword
        $mz = {4D 5A} // MZ header
        $pe = {50 45 00 00} // PE signature
    condition:
        uint16(0) == 0x5A4D and
        pe at (uint32(0x3C)) and
        (1 of ($s*) and $s3)
}

This rule looks for the PE file format (EXE/SYS) that includes the string "GIGABYTE" and either the GPCIDrv or GDrv string. This will match the original driver files, but can also match modified copies that retain the original strings. When run in-memory against memdump or against the full disk, it provides a search-and-identify mechanism.

Suricata IDS Rule

The exploitation of this flaw is local and does not traverse the network, so traditional network IDS detection is not directly applicable. However, the attacker often needs to download a custom exploit executable or connect to C2 post-exploitation. The Suricata rule below focuses on detecting the exfiltration of memory dumps or the download of exploit tools from common staging hosts. This is an edge-detection measure for the network stage of the attack chain.

# Detection of common exploit-tool download patterns during local privesc chains
alert http any any -> $HOME_NET any (msg:"Potential CVE-2018-19321 exploit tool download (GitHub keywords)"; content:"GPCIDrv"; content:"exploit"; http_uri; sid:3009871; rev:1;)
alert http $HOME_NET any -> any any (msg:"Potential memory dump upload post-CVE-2018-19321 exploitation"; content:"coredump"; http_uri; sid:3009872; rev:1;)

These rules are intentionally high-level due to the local-only attack surface. For realistic deployment, the focus should be on EDR/host-based detection rather than network IDS for this particular vulnerability. The second rule also covers the upload of a kernel memory dump to an external server, which matches the post-exploitation exfiltration phase.

Elastic Detection

The following EQL rule uses Elastic Endpoint Security logs to detect the loading of the vulnerable driver in a non-standard context (e.g., loaded by an unexpected parent) or the existence of processes with the driver name in their command line.

// Any process referencing the GIGABYTE kernel drivers or their device objects
process where process.command_line : ("*GPCIDrv*", "*GDrv*") and
    not process.name : ("igfx*", "OCGuru*", "APP_Center*") and
    not user.name : "SYSTEM"

A more behavior-focused rule looks for attempts to load a new kernel driver shortly after a low-privilege process becomes active (a chain that often follows a physical memory write exploit):

sequence by host.name with maxspan=5m
  [process where event.action == "create" and user.name != "SYSTEM" and process.name == "cmd.exe"]
  [file where event.action in ("create", "delete") and file.name : "*.sys" and file.path : "\\??\\*"]

This detects a user-level process creating/deleting a .sys file, which is a precursor to loading a rootkit after gaining kernel-level write access.

Splunk SPL Query

The Splunk query below targets the Windows Event Log (Security, Event ID 4693 or via Sysmon) to find any process that loaded the vulnerable driver or referenced the device path. Because the vulnerability is driver-based and the compromise is local, the most reliable telemetry is Sysmon Event ID 12 (registry object delete - used to remove traces) or Event ID 1 with process arguments. The query uses Processes sourcetype if Sysmon is deployed:

index=windows source="WinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
| search (CommandLine="*GPCIDrv*" OR CommandLine="*GDrv*")
| where NOT (ParentImage="C:\\Windows\\System32\\services.exe")
| table _time, host, User, Image, ParentImage, CommandLine
| sort - _time

Alternatively, if Sysmon Event ID 3 (network) is used to spot the C2 beacon after exploitation, the detection for the memory dump exfil is more relevant; this query focuses on the local behavior.

Wazuh OSSEC Rule

Wazuh uses syscheck or monitord for file changes, and rootcheck for detection. For this CVE, a custom rule monitors process creation for references to the driver names. The rule below is placed in the local_rules.xml:

<group name="sysmon,">
  <rule id="100345" level="12">
    <if_sid>92050</if_sid>
    <field name="win.eventdata.commandLine">.*GPCIDrv.*</field>
    <description>CVE-2018-19321: Process references GIGABYTE GPCIDrv driver - possible local privesc</description>
    <mitre>
      <tactic>T1068</tactic>
      <technique>T1068</technique>
    </mitre>
  </rule>
  <rule id="100346" level="12">
    <if_sid>92050</if_sid>
    <field name="win.eventdata.commandLine">.*GDrv.*</field>
    <description>CVE-2018-19321: Process references GIGABYTE GDrv driver - possible local privesc</description>
    <mitre>
      <tactic>T1068</tactic>
      <technique>T1068</technique>
    </mitre>
  </rule>
</group>

These rules trigger on Sysmon Event ID 1 (process creation) and generate a level 12 alert (high-risk), referencing the associated MITRE ATT&CK technique.


Mitigation & Patch Guidance

Patch Confidence: 2/4 (CLAIMED — single source claims patch, not independently confirmed). The NVD lists a vendor fix, but the exact patched version is not independently verified. This uncertainty warrants immediate validation of the version in use before assuming protection.

  1. Immediate Mitigations:

    • Disable the vulnerable drivers if the GIGABYTE utilities are not essential. On Windows, the drivers GPCIDrv and GDrv can be set to "disabled" startup via sc.exe config GPCIDrv start= disabled and sc.exe config GDrv start= disabled, followed by a reboot. If the utility functions (overclocking, fan control) are not used, this eliminates the attack surface entirely.
    • Blocklist the driver hashes in application whitelisting (Windows Defender Application Control, AppLocker) to prevent loading of the unpatched versions.
    • Restrict local access to critical systems: enforce least-privilege user accounts and disable local guest accounts. Because PR:L suffices, minimizing standard-user access to high-value hosts reduces exposure.
  2. Patch / Upgrade Steps:

    • Update GIGABYTE APP Center to a version newer than 1.05.21.
    • Update AORUS GRAPHICS ENGINE to version 1.57 or later.
    • Update XTREME GAMING ENGINE to version 1.26 or later.
    • Update OC GURU II to a version newer than 2.08.
    • Download the latest builds from the official GIGABYTE support website (by motherboard model). Verify the released version against the vendor advisory to confirm the patch addresses the specific driver code, because the patch claim has not been independently confirmed. If version numbers are ambiguous, contact GIGABYTE support directly and request the security-specific hotfix. After upgrading, run sc.exe query GPCIDrv and sc.exe query GDrv to ensure the signed, patched versions are loaded.
  3. Long-Term Hardening:

    • Remove the utilities if they are never used. If the software is needed only occasionally, consider manual driver set to "manual" and load only when the application is running; but prefer full removal.
    • Adopt a hardware-independent management plan for overclocking/temperature control (e.g., configure via UEFI BIOS rather than vendor Windows tools).
    • Implement driver blocklist rules within your AV/EDR to flag any new load of GPCIDrv.sys or GDrv.sys (hash-based) until confirmed patched.
    • Monitor CISA KEV and vendor advisories for any update to the remediation status; the 2022-11-14 date indicates the threshold for mandatory remediation in US federal agencies.
    • Apply the device/process-level detections from the Detection Guidance section above to catch post-patch residual exploitation, especially in environments where the tool is required for other purposes.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2018-19321 — Official CVE record with CVSS vector and description.
  2. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — KEV entry confirming active exploitation and remediation deadline of 2022-11-14.
  3. Vendor Advisory (GIGABYTE): https://www.gigabyte.com/security — Product security advisories page; direct advisory link not standardized. Check for the supported versions list.
  4. Researcher analysis (e.g., a blog capturing the original disclosure): Given the absence of such a reference in the NVD data, a widely cited analysis on the same vulnerability class can be referenced at the discretion of the reader; the disclosure date context aligns with the 2018 era of driver-based privesc research. (No specific researcher blog is identified in the provided data; the advisories from the vulnerability database remain the authoritative source.)
  5. Mitre ATT&CK Technique T1068: https://attack.mitre.org/techniques/T1068/ — Mapping to Exploitation for Privilege Escalation.
  6. Exploit-DB / Public PoC Search: Search for "CVE-2018-19321" on exploit-db.com — confirms public exploit availability; no specific exploit ID was found in the provided data.

Threat Actor / ITW Evidence: The CISA KEV inclusion is the strongest public indicator that threat actors have leveraged this vulnerability in the wild prior to November 2022. No specific named threat group has been publicly attributed to the exploit campaigns, and no detailed ITW analysis reports are present in the data. Organizations with GIGABYTE utilities should assume residual risk for any systems that remained unpatched past the remediation window.

👁️ SHODAN DORKS (THREAT HUNTING)

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.

GIGABYTE APP Center
AORUS GRAPHICS ENGINE
OC GURU II

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2018-19321/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.