On July 19, 2026, the Linux kernel project disclosed CVE-2026-64097, a local vulnerability in the AMD Display Core that allows an attacker with a crafted GPU firmware image to read sensitive kernel memory and potentially crash the system. The flaw carries a CVSS 3.1 score of 7.8 (High), indicating a significant risk for confidentiality, integrity, and availability. Patched kernels are already shipping, but if you’re a Windows user with an AMD-based laptop or desktop that also boots Linux, the responsibility falls on you to update the Linux side before an adversary can exploit the gap. Here’s exactly what you need to know and do.

What Actually Got Fixed in the Kernel

The vulnerability lives deep in the Linux kernel’s graphics stack—specifically in drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c, the code that parses the AMD video BIOS (VBIOS) to extract information about display hardware and GPIO (General-Purpose Input/Output) pin assignments. Two functions, get_gpio_i2c_info() and bios_parser_get_gpio_pin_info(), read a table from the firmware and loop over its entries based on a size value contained in the table header itself. The problem: the original code only checked that the table header was within the mapped BIOS image; it didn’t verify that the entire buffer claimed by the header’s structuresize field was actually accessible. A specially crafted or corrupted VBIOS could declare a larger size, tricking the kernel into reading beyond the mapped region—an out-of-bounds read.

The fix, according to the upstream commit, introduces a call to bios_get_image() that validates the full range before any iteration occurs. It’s a single check that turns a blind trust assumption into a hard boundary. The patch has been backported to every supported stable series:

Kernel Series First Fixed Version
Linux 6.1 LTS 6.1.175
Linux 6.6 LTS 6.6.142
Linux 6.12 6.12.92
Linux 6.18 6.18.34
Linux 7.0 7.0.11

Mainline 7.1 and later are clean. If your kernel is older than these point releases, you are exposed.

What This Means for Your Windows PC

First, the good news: a standard Windows 10 or Windows 11 installation using the official AMD Adrenalin driver is not at risk. The vulnerable code is part of the Linux DRM subsystem; Windows uses a completely separate graphics driver model. So there is no need to panic-update your GPU drivers through Windows Update or AMD’s website for this particular CVE.

The concern arises for anyone who runs Linux on the same AMD hardware—even occasionally. Common scenarios include:

  • Dual-boot setups: The classic gaming/productivity split. Your Windows partition is fine, but every time you boot into your Linux distro (Ubuntu, Fedora, Arch, etc.), the vulnerable kernel module is loaded and active. An attacker with local access could exploit the bug during a Linux session to steal kernel data, crash the machine, or possibly chain it with another exploit to gain elevated privileges.
  • Windows Subsystem for Linux (WSL): In WSL 2, the Linux kernel runs in a lightweight VM managed by Microsoft. That kernel doesn’t directly touch your physical AMD display hardware in the same way a bare-metal install would; instead, graphics are handled via a virtualized stack. Thus, a typical WSL 2 instance is unlikely to trigger the vulnerable code path. However, if you’ve compiled your own custom WSL kernel or enabled GPU passthrough with specialized configurations, you should treat the guest kernel as potentially affected and update it.
  • Live USB sticks and recovery environments: If you boot a Linux live environment for maintenance or rescue tasks, that environment’s kernel is also vulnerable until the ISO is refreshed with a patched kernel. Keep your live media up to date.

Bottom line: the operating system that needs fixing is Linux, not Windows. But if you manage or use a machine that can boot both, you must patch Linux promptly.

Why a Firmware Parsing Bug Is Not Just a Nuisance

Modern hardware platforms rely on firmware data to initialize a host of components at boot and runtime. The VBIOS on a graphics card isn’t just a relic—it provides critical information about display outputs, power management, and internal wiring that the driver must trust to configure the GPU correctly. That trust relationship makes any firmware parser a potential security boundary.

In this case, an attacker who can supply a malicious VBIOS image—whether through physical access, a compromised firmware update, or even a virtualized test environment—can force the kernel to read memory outside the allocated BIOS buffer. The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) spells out the worst-case impact:

  • Confidentiality: The out-of-bounds read might leak kernel memory contents, potentially exposing encryption keys, credentials, or other sensitive data.
  • Integrity: While an out-of-bounds read alone cannot modify memory, the read values could influence driver logic, leading to misconfiguration of GPIO pins or I²C devices—everything from fan control to display port routing.
  • Availability: An invalid memory access can easily trigger a kernel panic or crash the display server, causing denial-of-service for local users.

It’s a local attack requiring low privileges, meaning any shell on a multi-user system or a malicious process could attempt exploitation. There is no known public exploit yet, but history shows that kernel memory disclosure vulnerabilities are frequently weaponized as part of larger attack chains. Patch before that changes.

How We Got Here: A History of Trusting Firmware Lengths

The vulnerable code was introduced as early as Linux 4.15 and persisted through multiple stable releases without modification. The pattern—trusting a length field from an untrusted data structure—is a classic catch in C programming and kernel development. In fact, the secure-parsing rulebook is well-established: always validate that the claimed size fits within the available buffer, and never rely purely on header presence checks.

The AMD Display Core team has been actively hardening its codebase as part of broader kernel security efforts. This particular fix mirrors recent patches that added bounds checking to other VBIOS table parsers, suggesting a systematic review is underway. For IT admins, it’s a timely reminder that even “non-internet-facing” kernel code paths can harbor serious flaws.

What to Do Now: Patch Your Linux Kernel

The steps are straightforward, but exact commands vary by distribution. The key is to update the kernel package and then reboot—a patched kernel sitting on disk does nothing until it’s running.

Check Your Current Kernel

Open a terminal and run:

uname -r

Compare the output against the fixed versions table above. Note that some distributions backport security fixes without bumping the kernel version string, so checking the package changelog is more reliable.

Update via Package Manager

  • Debian/Ubuntu & derivatives:
    sudo apt update && sudo apt upgrade
    or sudo apt dist-upgrade to include kernel packages.
  • Fedora:
    sudo dnf upgrade kernel*
  • openSUSE:
    sudo zypper up
  • Arch Linux:
    sudo pacman -Syu

After the update, reboot and uname -r again to confirm the new kernel is active.

For Custom or Embedded Kernels

If you compile your own kernel or use an appliance with limited updates, apply the patches manually from the stable tree. The relevant commits can be found at kernel.org (see references). The main requirement is that both get_gpio_i2c_info() and bios_parser_get_gpio_pin_info() perform a full bios_get_image() validation before iterating.

Verify Protection

Once rebooted, you can cross‑reference with your distribution’s security advisory for CVE-2026-64097. Many distros list patched package versions on their security portals.

What to Watch Next

The National Vulnerability Database has published the CVE but hasn’t yet assigned its own CVSS score; the 7.8 comes from kernel.org. Keep an eye on distribution-specific severity ratings and any subsequent updates. If exploit code emerges, prioritization should shift to emergency patching.

Beyond this single flaw, the incident underscores a broader lesson for mixed-environment IT shops: security scanning must look at all installed operating systems per machine, not just the one that boots by default. A dual-boot PC might pass a Windows compliance check while harboring an unpatched Linux kernel ready to be exploited during a Slackware live session. Asset inventory should record both partitions.

Finally, treat firmware parsers as you would any network-facing parser. The trend toward exposing low‑level hardware details through virtualized and containerized workloads means these trust boundaries are only becoming more exposed. AMD’s quick patch cycle is a positive sign, but vigilance remains the best defense.