CVE-2026-53325: Linux AMD64 AGP Driver NULL Pointer Dereference in Virtual Environments
A vulnerability in the Linux kernel's AMD64 AGP (Accelerated Graphics Port) driver can cause a system crash when running in virtualized environments without physical AMD hardware. The driver's probe function fails to correctly detect when the required hardware is absent, allowing initialization to proceed and eventually triggering a crash when the driver tries to access non-existent hardware. This affects systems running vulnerable kernel versions in virtual machines or cloud environments.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-476
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-29 / 2026-07-06
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: agp/amd64: Fix broken error propagation in agp_amd64_probe() A NULL pointer dereference was observed in the AMD64 AGP driver when running in a virtualized environment (e.g. qemu/kvm) without a physical AMD northbridge. The crash occurs in amd64_fetch_size() when attempting to dereference the pointer returned by node_to_amd_nb(0). The root cause of this crash is broken error propagation in agp_amd64_probe(): When no AMD northbridges are found, cache_nbs() correctly returns -ENODEV. However, the probe function erroneously checks the return value against exactly -1, rather than < 0. As a result, the hardware absence error is masked, allowing the driver to improperly proceed with initialization. It eventually calls agp_add_bridge(), which invokes amd64_fetch_size(). Since the hardware does not exist, node_to_amd_nb(0) returns NULL, leading to a General Protection Fault (GPF) when accessing its ->misc member. Fix the issue by correcting the error check in agp_amd64_probe() to abort properly when cache_nbs() returns any negative error code. This prevents the driver from erroneously proceeding without hardware, thereby avoiding the subsequent NULL pointer dereference at its source.
9 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-53325 is a NULL pointer dereference vulnerability in the AMD64 AGP driver (drivers/char/agp/amd64-agp.c). The root cause is improper error checking in agp_amd64_probe(). When cache_nbs() returns -ENODEV (indicating no AMD northbridges are present), the probe function incorrectly checks if the return value equals exactly -1 rather than checking for any negative error code. This allows the driver to proceed with initialization despite missing hardware. Subsequent calls to amd64_fetch_size() invoke node_to_amd_nb(0), which returns NULL in the absence of physical hardware. Dereferencing this NULL pointer to access the ->misc member triggers a General Protection Fault (GPF).
Business impact
This vulnerability primarily affects virtualized workloads and cloud deployments running on AMD-based infrastructure. In affected environments, the kernel crash causes denial of service—system downtime, interrupted workloads, and potential data loss if the crash occurs during critical operations. Organizations relying on Linux VMs in KVM/QEMU environments are at highest risk. The impact is localized to the affected system; there is no remote exploitation vector.
Affected systems
The vulnerability impacts Linux kernel installations that include the AMD64 AGP driver. Affected systems typically run on AMD-based hardware or emulation in virtualized environments (KVM, QEMU, hypervisors). The issue manifests primarily in virtual machines without emulated AMD northbridge hardware. Systems without AMD graphics or in non-virtualized environments with proper hardware detection may not be affected in practice, though the driver may still be loaded.
Exploitability
Exploitability is low. The vulnerability requires local access and execution context on the affected system. An unprivileged local user cannot trigger the crash directly; it occurs during kernel initialization or driver probe when the system boots or when the driver is loaded. The crash is deterministic in virtualized environments without the requisite hardware but does not provide privilege escalation or code execution—only a denial of service via kernel panic.
Remediation
Apply kernel updates that include the fix for agp_amd64_probe(). The fix modifies the error-checking logic to properly detect all negative return codes from cache_nbs(), not just -1, ensuring the driver aborts initialization when hardware is absent. Organizations should prioritize kernel updates for virtualized Linux systems running AMD-based infrastructure. Verify the specific patched kernel version against your Linux distribution's security advisories.
Patch guidance
Update to a Linux kernel version that includes the corrected agp_amd64_probe() error handling. Check your distribution's kernel update channels (e.g., linux-image packages for Debian/Ubuntu, kernel packages for RHEL/CentOS) for patched versions. The fix is minimal and low-risk—it prevents incorrect initialization rather than changing active code paths. Test the update in a non-production environment first to confirm stability in your virtualization stack.
Detection guidance
Kernel logs will show a General Protection Fault (GPF) or Oops message referencing amd64_fetch_size() or agp_amd64_probe() when the vulnerability is triggered. Monitor system logs (dmesg, /var/log/kern.log) for AGP driver initialization errors or NULL pointer dereference messages. Virtualized environments that report unexpected kernel panics during boot on AMD hardware warrant investigation. No user-space application changes or runtime detection methods are effective; kernel version assessment is the primary detection method.
Why prioritize this
This vulnerability merits medium priority in virtualized environments but lower priority for traditional bare-metal systems. Organizations running significant Linux workloads in KVM/QEMU on AMD hardware should patch promptly to prevent unexpected service disruptions. The CVSS score of 5.5 (Medium) reflects the local-access requirement and denial-of-service impact. It does not pose an existential security risk but does impact availability in vulnerable deployments.
Risk score, explained
The CVSS:3.1 score of 5.5 (Medium) reflects: local attack vector (AV:L) requiring system-level access, low complexity (AC:L), low privilege requirements (PR:L), no user interaction (UI:N), unchanged scope (S:U), no confidentiality or integrity impact (C:N/I:N), and high availability impact (A:H). The score appropriately captures a local denial-of-service condition with no privilege escalation or data exposure, typical for kernel stability bugs in specific hardware configurations.
Frequently asked questions
Does this affect my system if I'm not running in a virtual machine?
Unlikely, unless you are running AMD hardware without a functional northbridge. The vulnerability manifests during driver probe when the expected hardware is absent. Bare-metal systems with proper AMD hardware or non-AMD systems will load the driver normally and will not encounter the NULL pointer condition.
Can this vulnerability be exploited remotely?
No. The crash occurs during kernel initialization or driver loading, both of which require local or privileged access. There is no network-based exploitation path.
Will updating the kernel break anything?
The fix is a corrected error-check condition; it does not alter the driver's normal operation on systems with proper hardware. Testing in a non-production environment is recommended for any kernel update, but this patch is considered low-risk.
What's the difference between the current behavior and the fix?
Currently, the driver checks if cache_nbs() == -1 (only one specific error). The fix checks if cache_nbs() < 0 (any error). This ensures the driver stops initialization whenever hardware is missing, rather than only for that one specific error code, preventing the subsequent NULL pointer crash.
This analysis is provided for informational purposes and reflects the vulnerability information available as of the publication date. Patch version numbers and distribution-specific guidance should be verified against official vendor advisories and your Linux distribution's security repositories. CVSS scores and severity classifications are subject to interpretation and may vary based on organizational context. Always consult your vendor's security advisories and test patches in a non-production environment before deployment. Source: NVD (public-domain), retrieved 2026-08-07. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2026-46118MEDIUMLinux Kernel PAPR Hypervisor Pipe Null Pointer Dereference (POWER Systems)
- CVE-2026-46127MEDIUMLinux Kernel OCRDMA Null Pointer Dereference (DoS)
- CVE-2026-46134MEDIUMLinux Kernel cros_ec Mutex Initialization DoS Vulnerability
- CVE-2026-46188MEDIUMLinux Octeon EP VF NULL Pointer Dereference Denial of Service
- CVE-2026-46211MEDIUMLinux Kernel MSM DRM NULL Pointer and Silent Error in gem_info_get_metadata
- CVE-2026-46216MEDIUMLinux Intel Arc GPU NULL Pointer Dereference (HDCP)
- CVE-2026-46222MEDIUMLinux Rockchip RKCam Driver Null Pointer Dereference