Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-40288— drm/amdgpu: Fix NULL pointer dereference in VRAM logic for APU devices

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未初始化VRAM管理器中的bdev指针,可能导致空指针取消引用。

AI Predicted 4.7 Difficulty: Moderate EPSS 0.19% · P8

Possible ATT&CK Techniques 1 AI

T1083 · File and Directory Discovery

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux d38ceaf99ed015f2a0b9af3499791bd3a3daae21< e70113b741ba253886cd71dbadfe3ea444bb2f5c affected
d38ceaf99ed015f2a0b9af3499791bd3a3daae21< 1243e396148a65bb6c42a2b70fe43e50c16c494f affected
d38ceaf99ed015f2a0b9af3499791bd3a3daae21< 43aa61c18a3a45042b098b7a1186ffb29364002c affected
d38ceaf99ed015f2a0b9af3499791bd3a3daae21< 070bdce18fb12a49eb9c421e57df17d2ad29bf5f affected
d38ceaf99ed015f2a0b9af3499791bd3a3daae21< 883f309add55060233bf11c1ea6947140372920f affected
4.2 affected
< 4.2 unaffected
6.1.159≤ 6.1.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-40288

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
drm/amdgpu: Fix NULL pointer dereference in VRAM logic for APU devices
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix NULL pointer dereference in VRAM logic for APU devices Previously, APU platforms (and other scenarios with uninitialized VRAM managers) triggered a NULL pointer dereference in `ttm_resource_manager_usage()`. The root cause is not that the `struct ttm_resource_manager *man` pointer itself is NULL, but that `man->bdev` (the backing device pointer within the manager) remains uninitialized (NULL) on APUs—since APUs lack dedicated VRAM and do not fully set up VRAM manager structures. When `ttm_resource_manager_usage()` attempts to acquire `man->bdev->lru_lock`, it dereferences the NULL `man->bdev`, leading to a kernel OOPS. 1. **amdgpu_cs.c**: Extend the existing bandwidth control check in `amdgpu_cs_get_threshold_for_moves()` to include a check for `ttm_resource_manager_used()`. If the manager is not used (uninitialized `bdev`), return 0 for migration thresholds immediately—skipping VRAM-specific logic that would trigger the NULL dereference. 2. **amdgpu_kms.c**: Update the `AMDGPU_INFO_VRAM_USAGE` ioctl and memory info reporting to use a conditional: if the manager is used, return the real VRAM usage; otherwise, return 0. This avoids accessing `man->bdev` when it is NULL. 3. **amdgpu_virt.c**: Modify the vf2pf (virtual function to physical function) data write path. Use `ttm_resource_manager_used()` to check validity: if the manager is usable, calculate `fb_usage` from VRAM usage; otherwise, set `fb_usage` to 0 (APUs have no discrete framebuffer to report). This approach is more robust than APU-specific checks because it: - Works for all scenarios where the VRAM manager is uninitialized (not just APUs), - Aligns with TTM's design by using its native helper function, - Preserves correct behavior for discrete GPUs (which have fully initialized `man->bdev` and pass the `ttm_resource_manager_used()` check). v4: use ttm_resource_manager_used(&adev->mman.vram_mgr.manager) instead of checking the adev->gmc.is_app_apu flag (Christian)
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于未初始化VRAM管理器中的bdev指针,可能导致空指针取消引用。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux d38ceaf99ed015f2a0b9af3499791bd3a3daae21 ~ e70113b741ba253886cd71dbadfe3ea444bb2f5c -
Linux Linux 4.2 -

II. Public POCs for CVE-2025-40288

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-40288

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-12-06 · 23 CVEs total

CVE-2025-40282 8.8 HIGH Bluetooth: 6lowpan: reset link-local header on ipv6 recv path
CVE-2025-40273 8.8 HIGH NFSD: free copynotify stateid in nfs4_free_ol_stateid()
CVE-2025-40284 7.8 HIGH Bluetooth: MGMT: cancel mesh send timer when hdev removed
CVE-2025-40283 7.8 HIGH Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF
CVE-2025-40269 7.8 HIGH ALSA: usb-audio: Fix potential overflow of PCM transfer buffer
CVE-2025-40280 7.8 HIGH tipc: Fix use-after-free in tipc_mon_reinit_self().
CVE-2025-40270 7.8 HIGH mm, swap: fix potential UAF issue for VMA readahead
CVE-2025-40271 7.8 HIGH fs/proc: fix uaf in proc_readdir_de()
CVE-2025-40277 7.8 HIGH drm/vmwgfx: Validate command header size against SVGA_CMD_MAX_DATASIZE
CVE-2025-40272 7.8 HIGH mm/secretmem: fix use-after-free race in fault handler
CVE-2025-40274 7.8 HIGH KVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying
CVE-2025-40285 7.5 HIGH smb/server: fix possible refcount leak in smb2_sess_setup()
CVE-2025-40276 7.3 HIGH drm/panthor: Flush shmem writes before mapping buffers CPU-uncached
CVE-2025-40267 io_uring/rw: ensure allocated iovec gets cleared for early failure
CVE-2025-40289 drm/amdgpu: hide VRAM sysfs attributes on GPUs without VRAM
CVE-2025-40268 cifs: client: fix memory leak in smb3_fs_context_parse_param
CVE-2025-40275 ALSA: usb-audio: Fix NULL pointer dereference in snd_usb_mixer_controls_badd
CVE-2025-40278 net: sched: act_ife: initialize struct tc_ife to fix KMSAN kernel-infoleak
CVE-2025-40279 net: sched: act_connmark: initialize struct tc_ife to fix kernel leak
CVE-2025-40281 sctp: prevent possible shift-out-of-bounds in sctp_transport_update_rto

Showing top 20 of 23 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-40288

No comments yet


Leave a comment