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

Goal: 1000 CNY · Raised: 1336 CNY

100%

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

AI Predicted 4.7 Difficulty: Moderate EPSS 0.18% · P8

Possible ATT&CK Techniques 1AI

T1083 · File and Directory Discovery

Affected Version Matrix 12

VendorProductVersion RangeStatus
LinuxLinuxd38ceaf99ed015f2a0b9af3499791bd3a3daae21< e70113b741ba253886cd71dbadfe3ea444bb2f5caffected
d38ceaf99ed015f2a0b9af3499791bd3a3daae21< 1243e396148a65bb6c42a2b70fe43e50c16c494faffected
d38ceaf99ed015f2a0b9af3499791bd3a3daae21< 43aa61c18a3a45042b098b7a1186ffb29364002caffected
d38ceaf99ed015f2a0b9af3499791bd3a3daae21< 070bdce18fb12a49eb9c421e57df17d2ad29bf5faffected
d38ceaf99ed015f2a0b9af3499791bd3a3daae21< 883f309add55060233bf11c1ea6947140372920faffected
4.2affected
< 4.2unaffected
6.1.159≤ 6.1.*unaffected
… +4 more rows
Get alerts for future matching vulnerabilitiesLog 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

VendorProductAffected VersionsCPESubscribe
LinuxLinux d38ceaf99ed015f2a0b9af3499791bd3a3daae21 ~ e70113b741ba253886cd71dbadfe3ea444bb2f5c -
LinuxLinux 4.2 -

II. Public POCs for CVE-2025-40288

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

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-402828.8 HIGHBluetooth: 6lowpan: reset link-local header on ipv6 recv path
CVE-2025-402738.8 HIGHNFSD: free copynotify stateid in nfs4_free_ol_stateid()
CVE-2025-402847.8 HIGHBluetooth: MGMT: cancel mesh send timer when hdev removed
CVE-2025-402837.8 HIGHBluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF
CVE-2025-402697.8 HIGHALSA: usb-audio: Fix potential overflow of PCM transfer buffer
CVE-2025-402807.8 HIGHtipc: Fix use-after-free in tipc_mon_reinit_self().
CVE-2025-402707.8 HIGHmm, swap: fix potential UAF issue for VMA readahead
CVE-2025-402717.8 HIGHfs/proc: fix uaf in proc_readdir_de()
CVE-2025-402777.8 HIGHdrm/vmwgfx: Validate command header size against SVGA_CMD_MAX_DATASIZE
CVE-2025-402727.8 HIGHmm/secretmem: fix use-after-free race in fault handler
CVE-2025-402747.8 HIGHKVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying
CVE-2025-402857.5 HIGHsmb/server: fix possible refcount leak in smb2_sess_setup()
CVE-2025-402767.3 HIGHdrm/panthor: Flush shmem writes before mapping buffers CPU-uncached
CVE-2025-40267io_uring/rw: ensure allocated iovec gets cleared for early failure
CVE-2025-40289drm/amdgpu: hide VRAM sysfs attributes on GPUs without VRAM
CVE-2025-40268cifs: client: fix memory leak in smb3_fs_context_parse_param
CVE-2025-40275ALSA: usb-audio: Fix NULL pointer dereference in snd_usb_mixer_controls_badd
CVE-2025-40278net: sched: act_ife: initialize struct tc_ife to fix KMSAN kernel-infoleak
CVE-2025-40279net: sched: act_connmark: initialize struct tc_ife to fix kernel leak
CVE-2025-40281sctp: 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