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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-38594— iommu/vt-d: Fix UAF on sva unbind with pending IOPFs

EPSS 0.03% · P7
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-38594

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
iommu/vt-d: Fix UAF on sva unbind with pending IOPFs
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Fix UAF on sva unbind with pending IOPFs Commit 17fce9d2336d ("iommu/vt-d: Put iopf enablement in domain attach path") disables IOPF on device by removing the device from its IOMMU's IOPF queue when the last IOPF-capable domain is detached from the device. Unfortunately, it did this in a wrong place where there are still pending IOPFs. As a result, a use-after-free error is potentially triggered and eventually a kernel panic with a kernel trace similar to the following: refcount_t: underflow; use-after-free. WARNING: CPU: 3 PID: 313 at lib/refcount.c:28 refcount_warn_saturate+0xd8/0xe0 Workqueue: iopf_queue/dmar0-iopfq iommu_sva_handle_iopf Call Trace: <TASK> iopf_free_group+0xe/0x20 process_one_work+0x197/0x3d0 worker_thread+0x23a/0x350 ? rescuer_thread+0x4a0/0x4a0 kthread+0xf8/0x230 ? finish_task_switch.isra.0+0x81/0x260 ? kthreads_online_cpu+0x110/0x110 ? kthreads_online_cpu+0x110/0x110 ret_from_fork+0x13b/0x170 ? kthreads_online_cpu+0x110/0x110 ret_from_fork_asm+0x11/0x20 </TASK> ---[ end trace 0000000000000000 ]--- The intel_pasid_tear_down_entry() function is responsible for blocking hardware from generating new page faults and flushing all in-flight ones. Therefore, moving iopf_for_domain_remove() after this function should resolve this.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于iommu/vt-d模块在sva解绑时可能导致释放后重用。
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 17fce9d2336d952b95474248303e5e7d9777f2e0 ~ c68332b7ee893292bba6e87d31ef2080c066c65d -
LinuxLinux 6.16 -

II. Public POCs for CVE-2025-38594

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-38594

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-08-19 · 60 CVEs total

CVE-2025-38593Bluetooth: hci_sync: fix double free in 'hci_discovery_filter_clear()'
CVE-2025-38614eventpoll: Fix semi-unbounded recursion
CVE-2025-38610powercap: dtpm_cpu: Fix NULL pointer dereference in get_pd_power_uw()
CVE-2025-38609PM / devfreq: Check governor before using governor->name
CVE-2025-38608bpf, ktls: Fix data corruption when using bpf_msg_pop_data() in ktls
CVE-2025-38612staging: fbtft: fix potential memory leak in fbtft_framebuffer_alloc()
CVE-2025-38598drm/amdgpu: fix use-after-free in amdgpu_userq_suspend+0x51a/0x5a0
CVE-2025-38597drm/rockchip: vop2: fail cleanly if missing a primary plane for a video-port
CVE-2025-38595xen: fix UAF in dmabuf_exp_from_pages()
CVE-2025-38596drm/panthor: Fix UAF in panthor_gem_create_with_handle() debugfs code
CVE-2025-38599wifi: mt76: mt7996: Fix possible OOB access in mt7996_tx()
CVE-2025-38592Bluetooth: hci_devcd_dump: fix out-of-bounds via dev_coredumpv
CVE-2025-38591bpf: Reject narrower access to pointer ctx fields
CVE-2025-38590net/mlx5e: Remove skb secpath if xfrm state is not found
CVE-2025-38589neighbour: Fix null-ptr-deref in neigh_flush_dev().
CVE-2025-38588ipv6: prevent infinite loop in rt6_nlmsg_size()
CVE-2025-38587ipv6: fix possible infinite loop in fib6_info_uses_dev()
CVE-2025-38586bpf, arm64: Fix fp initialization for exception boundary
CVE-2025-38585staging: media: atomisp: Fix stack buffer overflow in gmin_get_var_int()
CVE-2025-38584padata: Fix pd UAF once and for all

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-38594

No comments yet


Leave a comment