Cloudanix VulnDB

CVE-2026-98997

None

CVSS

—

EPSS

0.2%

Published

Oct 23, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A graphics driver bug on certain AMD hardware could let one program accidentally or maliciously damage memory that another program is using, leading to crashes or lost data.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Data Tampering
Component
OS kernel
Class
Improper Input Validation
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

The amdgpu_userq_get_doorbell_index function accepts any buffer object handle as a doorbell without validating that it was allocated in the doorbell domain; regular BOs are moved via ttm_bo_move_null, discarding their contents, and the exporter GEM object is exposed to an importing client on the same device.

Why it matters to the business

Unpatched systems risk silent data corruption or loss in shared graphics buffers on AMD GPUs, which can disrupt GPU-accelerated workloads, cause application crashes, and require emergency kernel updates that interrupt operations.

How an attack unfolds

An attacker-controlled client on the same system creates or obtains a regular BO, passes it as the doorbell_handle to amdgpu_userq_get_doorbell_index, triggers the invalid domain pin and subsequent move that destroys the buffer contents, and observes or induces failure in another client that imported the same GEM object.

How to fix it

Update to a Linux kernel containing the referenced commit (cherry-picked from f7497bbc19db4821c62b9d97b31c9086feb2d917) that adds a domain check rejecting non-doorbell BOs before pinning.

How to confirm the fix worked

Confirm the kernel source contains the doorbell-domain validation in amdgpu_userq_get_doorbell_index; test by attempting to pass a non-doorbell BO and verifying the call is rejected without performing ttm_bo_move_null.

Typical attack path

  1. Obtain or share a regular GEM buffer object between two clients on the same AMD GPU device
  2. Invoke the userq doorbell setup path with the non-doorbell BO handle
  3. Trigger TTM move_null that discards the original buffer contents
  4. Observe corruption or crash in the importing client or downstream GPU workload

How to detect it

Review kernel logs for unexpected ttm_bo_move_null calls on doorbell paths or amdgpu userq errors; correlate with processes performing doorbell setup on shared GEM objects; no public exploitation artifacts are known.

What your security team should do

  • Prioritize kernel upgrade on all AMD GPU systems within the next maintenance window
  • Monitor vendor advisories for the exact stable and LTS releases containing the fix
  • Restrict untrusted multi-client GPU sharing until patches are applied

The record

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/userq: only accept doorbell BOs as queue doorbell amdgpu_userq_get_doorbell_index() pins any BO passed as doorbell_handle into the doorbell domain. For a regular BO, TTM moves it with ttm_bo_move_null() and its contents are lost. Since an importer on the same device gets the exporter's GEM object, a client can do this to a buffer another client shared with it. Reject BOs that were not created in the doorbell domain. v2: drop the error message, use a local abo variable (Christian) (cherry picked from commit f7497bbc19db4821c62b9d97b31c9086feb2d917)

Affected packages

Ecosystem Package Introduced Fixed