目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-89996— Linux dma-heap fd提前发布缺陷

一分钟漏洞结论

影响对象
Linux Linux
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

在 Linux 内核中,已解决以下漏洞: dma-buf: dma-heap: 在 copy_to_user() 成功之前不要发布 fd 会分配一个 dma-buf,并在 将结果复制回用户空间之前,通过 -> 将 fd 安装到调用者的 fd 表中。如果最后的 失败,用户空间无法得知该 fd 的编号,但该 fd(及其底层的 dma-buf 引用)已经对同一进程内的其他线程可见,并会在整个进程生命周期内发生泄漏。 显而易见的“在失败路径上关闭它”的修复方式并不安全:一旦 执行完毕,另一个线程可能已经对该 fd 执行了

AI 预测 3.1 利用难度: 中等 EPSS 0.21% · P10

可能的 ATT&CK 技术 1 AI

T1562.008

影响版本矩阵 10

厂商产品 版本范围状态
Linux Linux c02a81fba74fe3488ad6b08bfb5a1329005418f8< 1bf6083a41f810d760c4dcd1b80c5194a92575aa affected
c02a81fba74fe3488ad6b08bfb5a1329005418f8< 69d57dbadb27ffd5eef34fd184bab145500cdabc affected
c02a81fba74fe3488ad6b08bfb5a1329005418f8< 0d4a5d218055db29b50cc07d3d73d27007c2a391 affected
c02a81fba74fe3488ad6b08bfb5a1329005418f8< 30d0aff2c65a277135cfd8ea28fa1ee75e0ea4e0 affected
5.6 affected
< 5.6 unaffected
6.12.112≤ 6.12.* unaffected
6.18.52≤ 6.18.* unaffected
… +2 条更多
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-89996 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
dma-buf: dma-heap: don't publish fd before copy_to_user() succeeds
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: dma-buf: dma-heap: don't publish fd before copy_to_user() succeeds DMA_HEAP_IOCTL_ALLOC allocates a dma-buf and installs an fd into the caller's fd table via dma_buf_fd() -> fd_install() before dma_heap_ioctl() copies the result back to userspace. If the trailing copy_to_user() fails, userspace never learns the fd number, but the fd (and the underlying dma-buf reference) are already visible to other threads in the same process and are leaked for the lifetime of the process. The obvious "close it on the failure path" fix is unsafe: once fd_install() has run, another thread can already dup() the fd, send it via SCM_RIGHTS, or close() it and let its number be reused, so a subsequent close_fd() from the ioctl path can operate on an unrelated file. This was pointed out by Christian König on v1 [1]. Restructure the allocation path so that fd_install() is the last, unfailable step of a successful ioctl: 1. heap->ops->allocate() creates the dma_buf. 2. get_unused_fd_flags() reserves an fd number in the caller's fd table without publishing it, so no other thread can observe it. 3. copy_to_user() delivers the fd number to userspace; on failure the fd is returned with put_unused_fd() and the dma_buf reference is dropped with dma_buf_put(), leaving no user- visible state behind. 4. dma_buf_fd_install() publishes the fd and emits the trace_dma_buf_fd tracepoint -- from here on the ioctl cannot fail. A new dma_buf_fd_install() helper is introduced in dma-buf.c to wrap fd_install() together with the DMA_BUF_TRACE() call, preserving the export tracing that dma_buf_fd() provides. dma_heap_ioctl_allocate() is refactored to return the struct dma_buf * directly (returning ERR_PTR on failure) so the caller holds the dmabuf reference across steps 3 and 4. The failure at step 3 is easily reachable from userspace: pass a struct dma_heap_allocation_data that lives in a page whose protection is flipped to PROT_READ between copy_from_user() and copy_to_user() (e.g. via mprotect()). Before this change each such ioctl leaks one dmabuf fd; after it, the fd table is unchanged on failure and only /dev/dma_heap/<name> remains open. No UAPI or heap-driver interface change. [1] https://lore.kernel.org/dri-devel/175e98de-f414-47d7-81c1-c0fe0a8f7f62@amd.com/
来源: CVE Program / CVE List V5
CVSS Information
N/A
来源: CVE Program / CVE List V5
Vulnerability Type
N/A
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux c02a81fba74fe3488ad6b08bfb5a1329005418f8 ~ 1bf6083a41f810d760c4dcd1b80c5194a92575aa -
Linux Linux 5.6 -

二、漏洞 CVE-2026-89996 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-89996 的情报信息

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

CVE-2026-89996 补丁与修复 (1)

CVE-2026-89996 其他参考 (3)

同批安全公告 · Linux · 2026-09-16 · 共 276 条

CVE-2026-90048 9.8 CRITICAL Linux内核NTFS3文件系统越界写漏洞
CVE-2026-90012 9.8 CRITICAL SPI DMA映射所有权修复
CVE-2026-89970 9.8 CRITICAL NVM Target SQ拆除时超时工作未同步
CVE-2026-89857 9.8 CRITICAL QLogic qla2xxx NVMe LS拒绝竞态条件漏洞
CVE-2026-89969 9.8 CRITICAL Linux内核 nvmet-tcp 越界写入漏洞
CVE-2026-89847 9.8 CRITICAL qla2xxx SCSI驱动异步IOCB超时双重完成漏洞
CVE-2026-89972 9.8 CRITICAL NVMe驱动错误路径SRCU宽限期缺失漏洞
CVE-2026-89990 9.8 CRITICAL Ceph ceph_mds_check_access 互斥锁缺失漏洞
CVE-2026-90036 9.8 CRITICAL Linux NFSd 阻塞锁收割时释放后使用漏洞
CVE-2026-90038 9.8 CRITICAL Linux内核NFSD导出撤销后使用漏洞
CVE-2026-90037 9.8 CRITICAL Linux内核NFSD close_lru释放后使用漏洞
CVE-2026-89788 9.8 CRITICAL Linux kernel ksmbd 释放后使用漏洞
CVE-2026-89783 9.8 CRITICAL Linux内核 xfrm6 越界写入漏洞
CVE-2026-90042 9.8 CRITICAL Ceph 虚拟内存分配缓冲区文件名解密漏洞
CVE-2026-89778 9.8 CRITICAL isofs 空 zisofs 块页面数组越界访问漏洞
CVE-2026-89915 9.3 CRITICAL KVM arm64 移除虚拟机级 VNCR 映射计数器
CVE-2026-90049 9.3 CRITICAL 内核网络子系统中skb_zerocopy处理中的缺陷
CVE-2026-89775 9.3 CRITICAL KVM arm64 VNCR TLB大小计算漏洞
CVE-2026-89916 9.3 CRITICAL KVM arm64 VNCR失效重试漏洞
CVE-2026-89930 9.3 CRITICAL KVM嵌套虚拟化本地TLB刷新漏洞

显示前 20 条,共 276 条。 查看全部 &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-89996

暂无评论


发表评论