重大预警: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 # ✅ 成功执行 = 存在暴露风险
攻击步骤:
- 创建用户命名空间和网络命名空间
- 从不同 CPU并发发送两个以上
RTM_NEWTFILTERnetlink 请求 - 每个请求添加 flower 过滤器,使用相同速率表的警察(police)动作
- 并发竞态导致
qdisc_rtab_list与非原子refcnt被同时修改 - 双重释放或释放后使用(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 管理员,现在行动:
- ✅ 今天:检查所有服务器内核版本
- ✅ 本周:完成安全补丁升级
- ✅ 本月:建立自动化补管监控机制
安全是持续的战斗,不是选项。
━━━ ━━━ ━━━
本文首发于 LeisureLinux · 2026-08-21
版权说明:本文系原创分析,转载请注明出处。
LeisureLinux · 技术、开源、自由软件
https://freelamp.com
GhostLock:一个藏了 15 年的 Linux 内核提权漏洞,正在被全世界打补丁