← LeisureLinux 文章索引
LeisureLinux · 微信公众号文章

内核安全风暴:RtabRace 漏洞详解与漏洞修补指南

安全/漏洞 阅读原文(微信)↗

重大预警:Linux 内核惊现高危竞态漏洞 RtabRace(CVE-2026-68138),CVSS 评分高达 7.8,已有公开 PoC,本地未授权攻击者可轻易触发内核提权或拒绝服务。修复版本已在 7.1.6 和 7.2-rc5 发布,所有受影响系统必须立即升级!**

━━━ ━━━ ━━━

漏洞技术深度剖析① 漏洞根源

RtabRace 漏洞本质上是 Linux 内核流量控制(TC, Traffic-Control)子系统中全局资源管理不当引发的竞态条件。

核心问题位置

  • qdisc_get_rtab()qdisc_put_rtab() 函数
  • 全局单链表:qdisc_rtab_list
  • 非原子引用计数器:refcnt

② 锁机制失效

历史上,RTNL 互斥锁(RTNL mutex)确保了列表操作的序列化,防止并发访问。但2019 年的内核改动打破了这一定律

  • cls_flower 分类器被允许在无锁环境下运行
  • 关键序列化不变量被破坏
  • 多个 CPU 可并发操作同一全局结构

③ 攻击路径

触发条件

# 任意本地用户(无需 root) unshare -Urn true  # ✅ 成功执行 = 存在暴露风险

攻击步骤

  1. 创建用户命名空间和网络命名空间
  2. 不同 CPU并发发送两个以上 RTM_NEWTFILTER netlink 请求
  3. 每个请求添加 flower 过滤器,使用相同速率表的警察(police)动作
  4. 并发竞态导致 qdisc_rtab_list 与非原子 refcnt 被同时修改
  5. 双重释放释放后使用(use-after-free)

后果

  • 内核内存损坏(struct qdisc_rate_table
  • 全局 kernel panic(整个系统崩溃)
  • 本地 root 提权(Ubuntu 22.04 PoC 已验证)

━━━ ━━━ ━━━

影响范围受影响内核版本

版本范围 影响状态
5.1 - 7.1.5 脆弱
7.1.6+ ✅ 已修复(commit fb29e1b41052
7.2-rc5+ ✅ 已修复(commit f43ee0c0730d

主要发行版受影响情况

发行版 受影响版本 默认配置保护
Ubuntu 22.04 GA 5.15.0-187 部分靠分配器加固
Red Hat 9/10/NVIDIA 26 - ✅ 补丁已出
CloudLinux 8/7 Hybrid - ❌ 无保护(默认启用 user namespace)
CloudLinux 9/10/8 LTS - ✅ 默认禁用 user namespace
Debian/Alma/Rocky - 🔄 补丁开发中

验证方法

uname -r # 检查内核版本 sysctl user.max_user_namespaces # 非 0 = 暴露

━━━ ━━━ ━━━

修复方案优先级🚨 方案一:内核升级(最推荐)

立即行动

# Ubuntu/Debian sudo apt update && sudo apt upgrade linux-image-generic  # RHEL/CentOS sudo dnf update kernel  # 验证修复 uname -r  # 确认 >= 7.1.6 或发行版补丁版本

补丁 Commit

  • 主主线:f43ee0c0730d (7.2-rc5)
  • 稳定分支:fb29e1b41052 (7.1.6)

🛡️ 方案二:禁用未授权用户命名空间(临时措施)

CloudLinux 8/7 Hybrid 专用(无需重启):

# 临时禁用 sudo sysctl -p user.max_user_namespaces=0  # 永久修改 /etc/sysctl.d/99-disable-namespace.conf user.max_user_namespaces=0

验证

unshare -Urn true  # 若返回 "Operation not permitted" = 已修复

🔥 方案三:KernelCare Livepatch(零停机)

CloudKernel 提供

# 检查补丁状态 kcarectl --patch-info | grep CVE-2026-68138

━━━ ━━━ ━━━

检测与监控实时攻击检测

监控系统

# 监控 netlink 请求激增 sudo ip monitor filter  # 检查用户命名空间创建异常 auditctl -w /proc/sys/user/max_user_namespaces -p w -k user_ns  # 监控 qdisc 相关内核函数调用(需要 eBPF)

系统完整性检查

每日检查脚本

#!/bin/bash # 保存为 /usr/local/bin/check-rtbracerace.sh  KERNEL=$(uname -r) NAMESPACE=$(sysctl -n user.max_user_namespaces)  # 阈值检查 if [[ "$NAMESPACE" != "0" ]]; then     echo "⚠️ 警告:用户命名空间未禁用 (max=$NAMESPACE)"     echo "请立即采取临时缓解措施"     exit 1 fi  # 内核版本 if [[ "$KERNEL" < "5.15.0-187" && "$KERNEL" > "5.15.0" ]]; then     echo "⚠️ 警告:内核版本可能受 RtabRace 影响"     echo "建议升级至安全版本"     exit 1 fi  echo "✅ 系统已受保护 (内核:$KERNEL, 命名空间:$NAMESPACE)" exit 0

Cron 定时任务(每日 6 点):

0 6 * * * /usr/local/bin/check-rtbracerace.sh | mail -s"RtabRace 安全状态检查" admin@company.com

━━━ ━━━ ━━━

技术细节深挖Race Condition 触发时序图

CPU 0                    CPU 1   |                        |   | RTM_NEWTFILTER         |   | → qdisc_get_rtab()     |   | → 读取 RTAB 指针 P1    |   |                        | → RTM_NEWTFILTER   |                        | → qdisc_get_rtab()   |                        | → 读取同一 RTAB 指针 P1   | → 分配新 RTAB P2       |   | → qdisc_put_rtab()     |   | → refcnt--             |   | → refcnt==0 ? P2 释放  |─────────┐   |                        |         |   |                        | → refcnt--   |                        | → refcnt==0 ? P2 释放 (双重释放!) ⚠️   |                        |         |   |                        | → P2 新分配给其他数据结构   | → 使用 P2               |─────────┘   | → Use-After-Free!       ⚠️

漏洞利用 PoC(概念验证)

已公开的 PoC 特征(Ubuntu 22.04):

// 伪代码示意 namespace_create(); socket(AF_NETLINK, SOCK_RAW, NETLINK_SOCK_DIAG); // 并发发送两个 RTM_NEWTFILTER,共享相同 police rate table // 触发 qdisc_rtab_list 竞态 → 内核 panic → 提权到 root

关键观察

  • 无需 SUID 二进制文件
  • 任意 shell 访问即可
  • 不依赖特化内核配置
  • 攻击窗口极短(纳秒级)

━━━ ━━━ ━━━

最佳实践建议服务器加固 checklist

  • [ ] 1. 立即检查uname -r 确认内核版本
  • [ ] 2. 升级内核:至安全版本或发行版补丁
  • [ ] 3. 禁用命名空间user.max_user_namespaces=0
  • [ ] 4. 审计日志:监控 unshare 命令调用
  • [ ] 5. 容器隔离:评估是否需 ——privileged
  • [ ] 6. 定期补丁:启用自动安全更新

云服务器注意事项

KVM 实例额外风险

  • KVM 独立漏洞 CVE-2026-68428 同时存在
  • 双重风险叠加:RtabRace + KVM UAF
  • 建议:立即双线升级内核 + KVM 组件

虚拟化宿主机

# 确认 KVM 版本 modinfo kvm | grep version modinfo kvm_intel | grep version  # 检查 QEMU 配置 systemctl status libvirtd

━━━ ━━━ ━━━

结语

RtabRace 漏洞揭示了一个残酷现实:2019 年的内核改动,7 年后的今天仍在造成安全威胁。这不仅是一次补丁升级,更是内核设计哲学的反思:

全局资源的并发访问,必须配备原子操作或显式锁,任何 \"信任\" 都会付出代价。

作为 Linux 管理员,现在行动:

  1. 今天:检查所有服务器内核版本
  2. 本周:完成安全补丁升级
  3. 本月:建立自动化补管监控机制

安全是持续的战斗,不是选项。

━━━ ━━━ ━━━

本文首发于 LeisureLinux · 2026-08-21

版权说明:本文系原创分析,转载请注明出处。

LeisureLinux · 技术、开源、自由软件

https://freelamp.com

GhostLock:一个藏了 15 年的 Linux 内核提权漏洞,正在被全世界打补丁

CVE-2026-3071 \"Dirty Frag\":Linux 内核权限提升漏洞深度解析

Copy Fail 内核漏洞已经在各大主流发行版 Ubuntu, Debian 修复,请尽快升级!

本文整理自微信公众号 LeisureLinux 的原创内容(Linux / AI / 安全 硬核技术)。

· 阅读原文(微信公众号)

· 关注公众号 LeisureLinux,第一时间获取技术深度内容。

LeisureLinux 公众号二维码(微信扫一扫关注)