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

目标: 1000 元 · 已筹: 1336

100%

CVE-2026-72139— Linux kernel 安全漏洞

CVSS 9.8 · Critical EPSS 0.59% · P46

影响版本矩阵 8

厂商产品版本范围状态
LinuxLinux51e547e8c89c661f6fbede4a28b1d33b13625683< 33a1bee413628378fd036a4f2b17ba86b0bc560caffected
51e547e8c89c661f6fbede4a28b1d33b13625683< da48b9bf1eb95a9cfd09d615ca58cfc2b03de369affected
51e547e8c89c661f6fbede4a28b1d33b13625683< b74cd55038905d5e74c1de109ab78a30b2ea0e1faffected
6.18affected
< 6.18unaffected
6.18.40≤ 6.18.*unaffected
7.1.5≤ 7.1.*unaffected
7.2≤ *unaffected
获取后续新漏洞提醒登录后订阅

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

漏洞信息

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

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

Vulnerability Title
tcp: defer md5sig_info kfree past RCU grace period in tcp_connect
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: tcp: defer md5sig_info kfree past RCU grace period in tcp_connect The md5+ao reconciliation in tcp_connect() (net/ipv4/tcp_output.c) has two symmetric branches: if (needs_md5) { tcp_ao_destroy_sock(sk, false); } else if (needs_ao) { tcp_clear_md5_list(sk); kfree(rcu_replace_pointer(tp->md5sig_info, NULL, ...)); } Both branches free a per-socket auth-info object while the socket is in TCP_SYN_SENT and is already on the inet ehash (inserted by inet_hash_connect() in tcp_v4_connect()). Both branches are reachable by softirq RX-path readers that load the corresponding info pointer via implicit RCU before bh_lock_sock_nested() is taken. The needs_md5 branch is fixed in the prior patch by re-introducing the call_rcu() free in tcp_ao_destroy_sock(): the equivalent per-key loop runs inside tcp_ao_info_free_rcu(), the RCU callback, so by the time it frees each tcp_ao_key all softirq readers that captured the container have already completed rcu_read_unlock(). The needs_ao branch is not symmetric in the same way. The container free can be deferred via kfree_rcu(md5sig, rcu) -- struct tcp_md5sig_info already has the required rcu member (include/net/tcp.h:1999-2002), and the rest of the tree already does this in the tcp_md5sig_info_add() rollback paths (net/ipv4/tcp_ipv4.c:1410, 1436). But the per-key teardown is done by tcp_clear_md5_list() in process context BEFORE the container's RCU grace period: it walks &md5sig->head and frees each tcp_md5sig_key with bare hlist_del + kfree. A concurrent softirq reader in __tcp_md5_do_lookup() / __tcp_md5_do_lookup_exact() (tcp_ipv4.c:1253, 1298) walks the same list via hlist_for_each_entry_rcu() and races with that bare kfree on the keys themselves -- a per-key slab use-after-free of the same class as the TCP-AO bug, on the same race window. Fix this in two halves: 1. Convert the bare kfree() in tcp_connect() to kfree_rcu() so the md5sig_info container joins the rest of the md5sig lifecycle. The local-variable lift is mechanical and required because kfree_rcu() is a macro that expects an lvalue. 2. Make tcp_clear_md5_list() RCU-safe by replacing hlist_del + kfree(key) with hlist_del_rcu + kfree_rcu(key, rcu). struct tcp_md5sig_key already carries the rcu member (include/net/tcp.h:1995) and tcp_md5_do_del() (net/ipv4/tcp_ipv4.c:1456) already uses kfree_rcu, so this restores the lifecycle invariant the rest of the file follows rather than introducing a one-off. The other caller of tcp_clear_md5_list() is tcp_md5_destruct_sock() (net/ipv4/tcp.c:412), which runs from the sock destructor when the socket is already unhashed and unreachable; the extra grace period there is unnecessary but harmless. Making the helper unconditionally RCU-safe is the cleaner contract. The needs_ao branch is not reachable by the userns reproducer used to demonstrate the AO-side splat (the repro installs both keys but ends up in the needs_md5 branch because the connect peer matches the MD5 key, not the AO key); however the symmetric race exists and a maintainer touching this code should not have to think about which branch escapes RCU and which one does not. [also credits to Qihang, who found that this races with tcp-diag]
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/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
Vulnerability Title
Linux kernel 安全漏洞
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Description
Linux kernel是美国Linux基金会开源的一个操作系统内核。 Linux kernel 6.18版本存在安全漏洞,该漏洞源于tcp_connect中对md5sig_info的不当释放,可能导致释放后重用。
来源: 中国国家信息安全漏洞库 CNNVD
CVSS Information
N/A
来源: 中国国家信息安全漏洞库 CNNVD
Vulnerability Type
N/A
来源: 中国国家信息安全漏洞库 CNNVD

受影响产品

厂商产品影响版本CPE订阅
LinuxLinux 51e547e8c89c661f6fbede4a28b1d33b13625683 ~ 33a1bee413628378fd036a4f2b17ba86b0bc560c -
LinuxLinux 6.18 -

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

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

未找到公开 POC。

登录以生成 AI POC

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

登录查看更多情报信息。

CVE-2026-72139 补丁与修复 (3)

同批安全公告 · Linux · 2026-08-15 · 共 845 条

CVE-2026-7447510.0 CRITICALLinux kernel 安全漏洞
CVE-2026-7242110.0 CRITICALLinux kernel 安全漏洞
CVE-2026-7427910.0 CRITICALLinux kernel 安全漏洞
CVE-2026-7428010.0 CRITICALLinux kernel 安全漏洞
CVE-2026-7430910.0 CRITICALLinux kernel 安全漏洞
CVE-2026-7240810.0 CRITICALLinux kernel 安全漏洞
CVE-2026-7240710.0 CRITICALLinux kernel 安全漏洞
CVE-2026-724939.9 CRITICALLinux kernel 安全漏洞
CVE-2026-744349.8 CRITICALLinux kernel 安全漏洞
CVE-2026-720659.8 CRITICALLinux kernel 安全漏洞
CVE-2026-720649.8 CRITICALLinux kernel 安全漏洞
CVE-2026-723199.8 CRITICALLinux kernel 安全漏洞
CVE-2026-723179.8 CRITICALLinux kernel 安全漏洞
CVE-2026-744279.8 CRITICALLinux kernel 安全漏洞
CVE-2026-724299.8 CRITICALLinux kernel 安全漏洞
CVE-2026-721379.8 CRITICALLinux kernel 安全漏洞
CVE-2026-744289.8 CRITICALLinux kernel 安全漏洞
CVE-2026-724369.8 CRITICALLinux kernel 安全漏洞
CVE-2026-720469.8 CRITICALLinux kernel 安全漏洞
CVE-2026-724519.8 CRITICALLinux kernel 安全漏洞

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-72139

暂无评论


发表评论