Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
HighPublic exploit

Arbitrary kernel memory access in MSI Afterburner RTCore64.sys/RTCore32.sys

IdentifiersCVE-2019-16098CWE-284

CVE-2019-16098 affects the signed RTCore64.sys and RTCore32.sys drivers shipped with Micro-Star MSI Afterburner 4.6.2.15658 and earlier. According to the provided content, the driver allows any authenticated local user to perform arbitrary read and write operations against memory, I/O ports, and model-specific registers (MSRs), including kernel-space addresses. In practice, this exposes highly privileged hardware and kernel interfaces to unprivileged code through the driver, enabling Bring Your Own Vulnerable Driver (BYOVD) abuse. Because the vulnerable driver remained validly signed, attackers can deploy the outdated driver on a target system and use it as a trusted kernel component to access or modify protected kernel state.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation enables local privilege escalation to kernel or SYSTEM-equivalent execution, arbitrary code execution under high privileges, and information disclosure through unrestricted reads of privileged memory. The arbitrary write capability also supports defense evasion, including disabling or bypassing AV/EDR protections, unregistering kernel callbacks, modifying kernel object permissions, and interfering with protected processes. Because the driver is signed, it can additionally be abused to bypass Microsoft driver-signing policy expectations and load malicious functionality via a trusted but vulnerable kernel driver.

Mitigation

If you can’t patch tonight, do this now.

Enable and enforce Microsoft's vulnerable driver blocklist and related kernel-mode code integrity protections. Monitor for the presence or loading of RTCore64.sys and RTCore32.sys, especially on systems where MSI Afterburner is not expected. Restrict local administrator rights and control service/driver installation to reduce the ability to deploy BYOVD payloads. Use application control and EDR detections for suspicious driver loads, kernel callback tampering, protected-process termination attempts, and tools known to abuse RTCore64.sys for privilege escalation or defense evasion.

Remediation

Patch, then assume compromise.

Upgrade MSI Afterburner to a version that does not include the vulnerable RTCore64.sys/RTCore32.sys drivers. Remove outdated copies of the vulnerable drivers from endpoints, software deployment packages, and golden images so they cannot be side-loaded or reintroduced. Apply Microsoft vulnerable-driver blocklist protections where available to prevent loading of known-bad signed drivers such as RTCore64.sys. Review and restrict administrative workflows or software distribution paths that would allow attackers to place and start arbitrary kernel drivers on hosts.
PUBLIC EXPLOITS

Exploits

5 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).

VALID 5 / 6 TOTALView more in app
RTCore64-probeMaturityPoCVerified exploit

Repository contains a single Windows C++ proof-of-concept (probe.cpp) plus an MIT LICENSE. The code targets CVE-2019-16098, a known vulnerable interface in the RTCore64.sys driver (commonly installed with MSI Afterburner/RivaTuner components). probe.cpp opens the device \\.\RTCore64 with CreateFileW (requires admin), then repeatedly issues DeviceIoControl using IOCTL 0x80002048 (RTCORE64_MEMORY_READ_CODE). It crafts an RTCORE64_MEMORY_READ request structure, sets Address to the address of a local variable (secret = 0xDEADCCCC), and requests a 4-byte read. The driver returns the read value in req.Value, which the program compares to the expected secret and prints status. It also monitors for failure conditions, specifically treating Win32 error 6 as an indication the device handle was closed/stripped. No networking, persistence, or code execution payload is present; it demonstrates an arbitrary read primitive through a vulnerable kernel driver interface and provides continuous monitoring output.

CrowTheArchfiendDisclosed Mar 4, 2026c++local (Windows kernel driver abuse via device handle + IOCTL)
VortexCry-RansomwareMaturityPoCVerified exploit

This repository is not a single CVE exploit PoC but a full Windows ransomware toolchain (“VortexCry”) with multiple components in C# and C/C++. Key capabilities observed: - Ransomware encryption/decryption: Shared library (VortexCrypt/共享) implements AES file encryption and RSA-4096 wrapping of the AES key (public key embedded in VortexCrypt/xdll32/Program.cs). The main ransomware (VortexCrypt/xdll32/Program.cs) traverses the filesystem, encrypts files (adds .VXCRY), drops a ransom HTML to C:\encrypted.html, disables recovery features (WinRE), attempts to disable UAC, and launches a GUI decryptor. - Decryptor UI: VortexCrypt/@Vortex_decryptor is a WinForms decryptor. It can (a) fetch a key package over LAN using a user-supplied IP/host on TCP port 3568 (AesRsaEncryptionManager.GetRemoteAesKey), or (b) perform manual key exchange by validating a SHA-256 hash passed as a command-line argument. It then decrypts files and restores critical system files (hal.dll, ntoskrnl.exe, sfc.exe) and an MBR backup if present. - Destructive/lockdown actions: Shared HarmfulSysHacks.cs includes direct MBR write via \\.\PhysicalDrive0 and functions to delete shadow copies/disable system recovery (portions truncated but referenced). Rundl132 project explicitly calls ModifyMasterBootRecord() and TriggerBlueScreen(). The decryptor also contains a “Computer Eradication” button that triggers MBR modification and BSOD. - Process injection and evasion: - C# injector (VortexCrypt/vcry) spawns multiple timeout.exe processes, XOR-deobfuscates embedded shellcode, and injects it into a target process using VirtualAllocEx/WriteProcessMemory/CreateRemoteThread. - C++ injector (vcry/) includes APC injection and process selection (svchost.exe/RuntimeBroker.exe), plus a process hollowing project (vcry_hollow/) implementing suspended process creation, unmapping, relocation, and APC execution. - Kernel driver tooling and DSE bypass: - Taskkill/ is a Windows kernel-mode driver project exposing IOCTLs via device \\.\ProcessTerminator to terminate processes, mark “safe” processes, and set PPL-like protections. - vcry/DSEBypass.cpp uses a kernel write primitive via device \\.\RTCore64 and references CVE-2019-16098 to modify Code Integrity options (g_CiOptions) to facilitate driver loading. - vcry/vcry.cpp drops a driver to C:\Windows\System32\drivers\vcry.sys, creates/starts a service (VortexCryDriver), and then continuously kills security processes (e.g., MsMpEng.exe, HipsDaemon.exe, 360tray.exe) using the driver. Repository structure highlights: - VortexCrypt/xdll32: primary ransomware encryptor/launcher (C#). - VortexCrypt/@Vortex_decryptor: decryptor GUI and key acquisition logic. - VortexCrypt/共享: shared crypto, registry, and “harmful system hacks” utilities. - vcry/: C++ injection + DSE bypass + driver loading + AV-kill loop. - Taskkill/: kernel driver implementing process termination/protection via IOCTLs. - vcry_hollow/: process hollowing implementation. - VortexCrypt/vcryx: drops DLLs to disk and executes via rundll32. No hardcoded external C2 domains/URLs were found in the provided content; the only explicit network observable is the LAN key retrieval port (3568) with a user-supplied host/IP. Numerous high-signal host artifacts are present (C:\encrypted.html, \\.\PhysicalDrive0, \\.\RTCore64, \\.\ProcessTerminator, dropped drivers/DLLs under C:\Windows\System32\drivers and System32).

VortexCry-OrganizationDisclosed Jan 21, 2026csharpcpplocalkernelprocess-injection
CVE-2019-16098MaturityPoCVerified exploit

This repository contains a local privilege escalation exploit for CVE-2019-16098, targeting the RTCore64.sys driver on Windows systems. The exploit is implemented in C++ (exploit.cpp) and works by interacting directly with the vulnerable driver via DeviceIoControl calls to custom IOCTL codes. The exploit leaks kernel addresses, traverses the EPROCESS linked list to locate the SYSTEM and target process tokens, and overwrites the token of a newly spawned cmd.exe process with the SYSTEM token, resulting in a SYSTEM-level shell. The only other file is a README.md, which briefly describes the exploit and links to a detailed blog post. The exploit requires local access and the presence of the vulnerable driver, and does not use any network endpoints. The main fingerprintable endpoints are the device path (\\.\RTCore64) and the path to cmd.exe. The code is operational and demonstrates a working privilege escalation payload.

0xDivyanshu-newDisclosed Sep 1, 2023cpplocal
NT-AUTHORITY-SYSTEM-CONTEXT-RTCOREMaturityPoCVerified exploit

This repository contains a working local privilege escalation exploit for CVE-2019-16098, targeting the MSI Afterburner RTCore64.sys driver (version 4.6.2.15658) on Windows. The exploit is implemented in C++ (SYSTEM_CONTEXT_RTCORE.cpp) and is designed to be built with Visual Studio 2019. The exploit dynamically locates the base address of ntoskrnl.exe and calculates the necessary offsets for the EPROCESS structure to steal the SYSTEM process token. It communicates with the vulnerable driver via the device object \\.\RTCore64, using custom IOCTL codes to read and write kernel memory. The exploit reads the Windows version from the registry to select the correct offsets for the EPROCESS structure. Upon successful exploitation, it spawns a new shell (cmd.exe) with SYSTEM privileges. The repository includes build files, Visual Studio project files, and logs, but the main exploit logic resides in SYSTEM_CONTEXT_RTCORE.cpp. The exploit is operational and has been tested on Windows 11 23H2 (build 22621.3447), but may require offset adjustments for other Windows versions.

Offensive-PandaDisclosed Aug 5, 2024cpplocal
CVE-2019-16098MaturityPoCVerified exploit

This repository contains a working local privilege escalation exploit for CVE-2019-16098, targeting the RTCore64.sys driver from MSI Afterburner 4.6.2.15658 on Windows 10 x64 Version 1903. The main exploit is implemented in 'CVE-2019-16098.cpp', which interacts directly with the vulnerable driver via the device object '\\.\RTCore64'. The exploit leaks kernel addresses, locates the SYSTEM process, and overwrites the current process token with the SYSTEM token, effectively elevating privileges. It then spawns a new shell (cmd.exe) as SYSTEM. The exploit is operational and requires the vulnerable driver to be loaded and the system to match the hardcoded offsets (Windows 10 x64 1903). The repository includes build files for CMake and a README with usage instructions and output examples. No network or remote attack vectors are present; this is a local privilege escalation exploit.

BarakatDisclosed Sep 10, 2019cpplocal
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
MsiAfterburnerapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence2

Every observed campaign linking this CVE to a named adversary.

Associated malware5

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity2

Community discussion across Reddit, Mastodon, and other social sources.