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

目标: 1000 元 · 已筹: 1336

100%

CVE-2026-74691— Thunderbolt DMA路径清理漏洞

一分钟漏洞结论

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

在 Linux 内核中,已解决以下漏洞: 网络:Thunderbolt 驱动 - 在停止环形队列(rings)之前销毁 DMA 路径 函数在调用 之前,先停止两个环形队列并释放其帧缓冲区。然而, 会将环形队列的描述符基地址清零,而 会解除映射并释放帧所在的页面。因此,当 轮询跃点(hop)的“pending”(待处理)位时,任何仍在传输中的数据帧都无处可去(无法被正确排空/ draining)。 自该驱动被添加以来,销毁(teardown)序列一直是这种顺序。但初始化(setup)路径并非如此:提交 ff7cd07

CVSS 8.8 · High EPSS 0.21% · P12

可能的 ATT&CK 技术 1 AI

T1499 · Endpoint Denial of Service

影响版本矩阵 16

厂商产品 版本范围状态
Linux Linux e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e< 7cce39109206bc5497e0953806563644b88bfc44 affected
e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e< 0da9a6d27155ad072dd76db8cd637feead99a0e0 affected
e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e< b5a21615f627c48dafaa6ef82a34a5b97a4352aa affected
e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e< 103a9b663ac1cacb8465aeff18f84a247154a562 affected
e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e< 4dd71cb0d23d40cb58fe4261c7bd183dca66caa0 affected
e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e< 9a482b2b117e5fa656b6d24fc01799e8ac2d4368 affected
e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e< 68bf02b6b4ad3f748c6db71fd77b6c0402d252f4 affected
4.15 affected
… +8 条更多
获取后续新漏洞提醒 登录后订阅

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

漏洞信息

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

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

Vulnerability Title
net: thunderbolt: Tear down DMA paths before stopping the rings
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net: thunderbolt: Tear down DMA paths before stopping the rings tbnet_tear_down() stops both rings and frees their frame buffers before calling tb_xdomain_disable_paths(). tb_ring_stop() zeroes the ring's descriptor base and tbnet_free_buffers() unmaps and frees the pages the frames sit in, so by the time __tb_path_deactivate_hop() polls the hop's 'pending' bit, anything still in flight has nowhere to drain to. The teardown sequence has been in this order since the driver was added. The setup path has not: commit ff7cd07f3064 ("net: thunderbolt: Enable DMA paths only after rings are enabled") moved the path enable to the end of tbnet_connected_work() and documented why: /* Both logins successful so enable the rings, high-speed DMA * paths and start the network device queue. * * Note we enable the DMA paths last to make sure we have primed * the Rx ring before any incoming packets are allowed to * arrive. */ Teardown was never updated to match, so the rings and the paths now come down in the same order they go up instead of in reverse. On an ASMedia ASM4242 host router the 'pending' bit then never clears: every teardown burns the full 500 ms timeout and __tb_path_deactivate_hop() returns -ETIMEDOUT. Raising the timeout to 5 s does not help, so the hop is not slow to drain, it never drains at all. The failure is invisible above the thunderbolt core. __tb_path_deactivate_hops() is void and only calls tb_port_warn(); tb_path_deactivate(), tb_tunnel_deactivate() and __tb_disconnect_xdomain_paths() are void as well, and tb_disconnect_xdomain_paths() ends in an unconditional "return 0". So tb_xdomain_disable_paths() reports success and the netdev_warn() below it never fires. Repeated teardowns eventually take the XDomain control channel down, after which the peer node is gone and only a power cycle brings the controller back. Deactivating the paths first fixes it. Measured with kretprobes on a stock v6.17 tree with no other patches applied, on a link that was up and had just carried traffic: before: __tb_path_deactivate_hop() returns 0 for the first hop, then -ETIMEDOUT for the second 500335 us later after: 0 for both, 525 us apart Alternating the two orderings ABBA over three load levels, four teardowns per arm: every teardown failed before the change (21 of 21 that ran), none failed after (0 of 24). The before arms ran short because the link died partway through. The same split shows up when the interface is enslaved to a bond instead of just brought down, which is how I ran into this in the first place. Throughput and latency after the change are unchanged. Hosts whose routers drain the hop despite the stale descriptor base see no functional difference, since the paths end up deactivated either way.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
来源: CVE Program / CVE List V5
Vulnerability Type
N/A
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux e69b6c02b4c3b8d03be7136f90dd9551ad5a5a5e ~ 7cce39109206bc5497e0953806563644b88bfc44 -
Linux Linux 4.15 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

登录查看更多情报信息。

CVE-2026-74691 补丁与修复 (6)

CVE-2026-74691 其他参考 (1)

同批安全公告 · Linux · 2026-08-22 · 共 150 条

CVE-2026-74705 10.0 CRITICAL UDP隧道分段潜在使用-after-free漏洞
CVE-2026-74612 10.0 CRITICAL Linux内核veth模块SKB长度计算漏洞
CVE-2026-74587 9.8 CRITICAL SCTP 缓存 ASCONF 块使用后释放漏洞
CVE-2026-74591 9.8 CRITICAL Linux 内核文件映射恢复索引前重试导致漏洞
CVE-2026-74608 9.8 CRITICAL SMB客户端cifs_try_adding_channels函数中的释放后使用漏洞
CVE-2026-74662 9.8 CRITICAL Linux inet frags 定时器竞争条件漏洞
CVE-2026-74669 9.8 CRITICAL Linux IPVS IPv4选项后重定位隧道ICMP错误
CVE-2026-74628 9.8 CRITICAL Linux内核 x25 远程计时器释放后使用漏洞
CVE-2026-74688 9.8 CRITICAL SCTP传输控制块移除漏洞
CVE-2026-74597 9.8 CRITICAL Linux ip6_tunnel skb2->cb[]未清除漏洞
CVE-2026-74617 9.8 CRITICAL dibs: 在dibs_dev_alloc()中初始化dibs->lock
CVE-2026-74723 9.8 CRITICAL btrfs LZO拒绝无有效头部的内联扩展
CVE-2026-74730 9.8 CRITICAL NFS:在FREE_STATEID调用期间锁定struct nfs_server
CVE-2026-74616 9.8 CRITICAL Linux内核XDP克隆数据包越界漏洞
CVE-2026-74727 9.8 CRITICAL OpenVPN by_id移除后跳过哈希重构
CVE-2026-74586 9.8 CRITICAL Linux内核SCTP对等端移除时传输未清理漏洞
CVE-2026-74611 9.8 CRITICAL TLS 1.3 乐观重试消息迭代器恢复漏洞
CVE-2026-74588 9.8 CRITICAL Linux SCTP传输列表不同步漏洞
CVE-2026-74712 9.3 CRITICAL mlx5 vdpa 在 create_direct_keys() 中缓冲区长度修复漏洞
CVE-2026-74665 9.1 CRITICAL NET skb长度计算通用XDP片段调整后修复

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-74691

暂无评论


发表评论