【复现】Linux内核IPv4TCP释放后重用漏洞(CVE-2026-98432)"

admin 2026-11-06 02:47:19 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

【复现】Linux内核IPv4 TCP释放后重用漏洞(CVE-2026-98432)

启明星辰
启明星辰

ADLab

2026年11月5日 17:53
北京

去阅读

更多安全资讯和分析文章请关注启明星辰ADLab微信公众号及官方网站(adlab.venustech.com.cn)

TCP(传输控制协议)是Linux内核网络子系统中使用最广泛的可靠传输协议,任何接受IPv4 TCP连接的监听套接字都会在内核net/ipv4协议栈中经历三次握手处理。握手期间,若客户端SYN携带IPv4选项,内核会将其编译后保存进请求套接字(request socket,reqsk)的 ireq->ireq\_opt 字段,一个 struct ip\_options\_rcu 堆对象,以便构建SYNACK时回显。其关键特性在于:握手完成时该对象的所有权被直接移交(零拷贝移交)给子套接字,而非复制——请求套接字与子套接字在微秒级窗口内共享同一指针。

2026年10月15日,Linux内核CNA发布Linux 内核IPv4 TCP释放后重用漏洞CVE-2026-98432,CVSS 3.1 评分为 9.8 分;10月27日,进一步披露了针对MPTCP监听场景的利用演示。该漏洞源于 tcp\_v4\_syn\_recv\_sock() 将 ireq->ireq\_opt 所有权移交子套接字时既不复制也不立即清除原指针——另一 CPU 并发处理重传 SYN 时仅在 rcu\_read\_lock() 下读取该指针,而子套接字析构函数 inet\_sock\_destruct() 用普通 kfree() 立即释放同一对象,微秒级竞态窗口内的释放后使用(UAF)可转化为越界读(信息泄露/KASLR 击破)与越界写(内存破坏),在特定条件下(如 MPTCP 监听器)可实现远程任意代码执行并获取 root 权限。

根据FOFA查询数据,截至2026年11月04日,互联网上存在46,831,120条潜在的易受攻击Linux实例。由于该漏洞技术细节已在互联网公开,攻击利用可能性较高,对于使用该实例的组织来说构成了直接且严重的风险。

  • 影响范围

分支 受影响版本 修复版本 说明
Linux Kernel 4.4至5.9 >=4.4 , <=5.9 (4.4/4.9/4.14/4.19/5.4 各EOL分支) 已停止维护 无官方修复版本,建议迁移至受支持的内核分支。
Linux Kernel 5.10 >=5.10.0 , <5.10.272 5.10.272及以上版本 官方修复
Linux Kernel 5.15 >=5.15.0 , <5.15.223 5.15.223及以上版本 官方修复
Linux Kernel 6.1 >=6.1.0 , <6.1.190 6.1.190及以上版本 官方修复
Linux Kernel 6.6 >=6.6.0 , < 6.6.159 6.6.159及以上版本 官方修复
Linux Kernel 6.12 >=6.12.0 , <6.12.113 6.12.113及以上版本 官方修复
Linux Kernel 6.18 >=6.18.0 , <6.18.56 6.18.56及以上版本 官方修复
Linux Kernel 7.2 >=7.2.0 , <7.2.10 7.2.10及以上版本 官方修复
Linux Kernel 7.3-rc <7.3-rc7 7.3及以上版本 官方修复
  • 漏洞描述

CVE-2026-98432 是 Linux 内核 net/ipv4 子系统中的一个远程可触发的释放后使用漏洞(UAF)。TCP 三次握手完成时,tcp\_v4\_syn\_recv\_sock() 将请求套接字中的 IP 选项对象 ireq->ireq\_opt 所有权直接移交子套接字(newinet->inet\_opt),既不复制、也不立即清除请求套接字侧的指针(清除动作落在 ehash 插入之后的条件分支中)。由于 commit 079096f103fa 起 request socket 已安装进全局 ehash 表,另一 CPU 可以在不持有监听套接字锁的情况下并发处理重传 SYN。而 TCP 子套接字不具备 SOCK\_RCU\_FREE 标志,其析构函数 inet\_sock\_destruct() 用普通 kfree() 立即释放该对象——不等待 RCU 宽限期——导致并发读者在对象释放后继续解引用,构成微秒级竞态窗口内的UAF。

  • 漏洞原理

Linux TCP协议栈存在一处由并发竞态引发的释放后使用(UAF)漏洞。服务器收到携带IP选项的SYN请求后,会将IP选项对象关联到请求套接字。最终ACK到达并创建子套接字时,子套接字会继承该对象指针。在请求套接字尚未完全移除期间,并发处理路径仍可能通过原指针访问该对象。

漏洞的根本原因在于RCU读写侧保护机制不对称。读侧通过 rcu\_read\_lock() 进入RCU临界区访问 IP 选项对象,但RCU读锁本身并不会自动延长对象的生命周期。该对象通过普通kmalloc()分配,而释放侧直接使用 kfree(),没有采用kfree\_rcu()等延迟释放机制。因此,即使读侧仍处于 RCU 临界区,对象也可能被并发释放。代码中,inet\_sock\_destruct()和 tcp\_v4\_reqsk\_destructor()均存在直接释放该对象的操作,其中前者是本次竞态的主要释放位置。

具体竞态发生在最终ACK创建子套接字前后:攻击者在请求套接字从哈希表中移除前发送重复SYN,使另一CPU命中该请求套接字,并进入SYN-ACK构建流程读取IP选项对象。与此同时,最终ACK创建的子套接字被RST或设置为立即关闭的SO\_LINGER选项销毁,inet\_sock\_destruct()通过普通kfree()释放该对象。此时,处理重复SYN的并发路径仍可能继续访问已经释放的对象,最终触发UAF。

  • 漏洞复现

已在Linux 6.12.112内核版本下完成复现。

  • 安全建议

(1)正式防护方案

该漏洞已于2026年10月在上游及以下稳定分支修复(commit e3f33b0a1d89),请根据当前内核版本统一升级至对应的修复版本:

  • 5.10分支:升级至 5.10.272 及以上版本
  • 5.15分支:升级至 5.15.223 及以上版本
  • 6.1分支:升级至 6.1.190 及以上版本
  • 6.6分支:升级至 6.6.159 及以上版本
  • 6.12分支:升级至 6.12.113 及以上版本
  • 6.18分支:升级至 6.18.56 及以上版本
  • 7.2分支:升级至 7.2.10 及以上版本
  • 7.3正式版及以上版本已包含修复

注意:4.4~5.9等已停止维护分支无官方修复版本,建议迁移至受支持的内核分支,或按上游 2 行补丁自行回移。

(2)临时防护措施

在无法立即升级内核的环境中,可叠加使用以下缓解方案(均为降低暴露面或缩小危害,不能替代补丁——缺陷在对象生命周期,不存在配置层面的根治方案):

  • 丢弃带IP选项的入站IPv4 TCP包,nftables: drop ip protocol tcp ip hdrlength > 5。
  • 禁用MPTCP:sysctl -w net.mptcp.enabled=0。
  • 关闭请求套接字迁移:sysctl -w net.ipv4.tcp\_migrate\_req=0,并移除 BPF\_SK\_REUSEPORT\_SELECT\_OR\_MIGRATE 程序。
  • 启用init\_on\_free=1(内核启动参数)。
  • 限制不可信网络可达的监听端口;监控内核日志中SYNACK重传路径的崩溃/内存损坏异常;审计使用IP\_OPTIONS套接字选项的业务。

参考链接:

[1] https://nvd.nist.gov/vuln/detail/cve-2026-98432

[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e3f33b0a1d89d738e2b913dab519226eaf76e15b

[3] https://www.anthropic.com/research/discovering-vulnerabilities-with-claude

[4] https://github.com/sgInnora/innora-cve-research/tree/main/CVE-2026-98432

启明星辰积极防御实验室(ADLab)

ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞7000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、电信运营商基础设施安全研究、移动终端安全研究、云安全研究、信创安全研究、物联网安全研究、车联网安全研究、工控安全研究、数据安全研究、5G安全研究、AI安全研究、卫星安全研究、低空安全研究、高级威胁研究、攻防体系建设。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。

    评论:0   参与:  0