Listen to this Post
CVE-2026-64150 是 Linux 内核 netfilter 子系统 nft_inner 模块中的一个中等严重性漏洞,根源在于错误处理路径中锁操作与中断状态恢复的顺序颠倒。该漏洞于 2026 年 7 月 19 日公开,影响内核版本 6.16 及以上。
在 Linux 内核的 netfilter 框架中,nft_inner 模块负责处理网络数据包的内层隧道上下文(如 VXLAN、Geneve 等封装协议)。当数据包经过 netfilter 钩子时,nft_inner 需要暂存当前软中断状态并获取 local_lock 以保护临界区数据。在正常路径中,处理完成后会先释放 local_lock,再恢复软中断状态——这是内核锁管理的标准顺序。
然而,在 nft_inner 的错误处理路径中,代码逻辑出现了致命反转:当隧道上下文解析或恢复失败时,函数直接调用了 `local_bh_enable()` 重新启用软中断,然后才调用 `local_unlock_nested_bh()` 释放之前获取的 local_lock。这意味着在锁仍然被持有的情况下,软中断已经被重新启用——一个典型的“解锁前启用中断”的反向操作。
这种顺序错乱产生的后果是灾难性的:软中断启用后,内核调度器可能立即介入,将当前执行上下文切换出去,而 local_lock 却依然被当前 CPU 持有。当另一个软中断或内核线程尝试获取同一个 local_lock 时,将发生死锁(deadlock)。即便不立即死锁,这种状态也破坏了内核的锁依赖排序(lock dependency ordering),可能引发不可预测的内存损坏或系统崩溃。攻击者可以通过构造特定的网络数据包,触发 nft_inner 的错误路径,反复制造这种锁状态异常,最终导致目标系统内核 panic 或拒绝服务。
该漏洞的 CVSS v3.1 基础评分为 5.5(中等) ,攻击向量为本地(Local),攻击复杂度低,所需权限低,无需用户交互,对可用性造成高影响(系统崩溃)。
DailyCVE Form:
Platform: Linux Kernel
Version: 6.16 – 6.18.33
Vulnerability: Improper Lock Ordering
Severity: Medium (CVSS 5.5)
date: 2026-07-19
Prediction: 2026-07-20
What Undercode Say:
检查当前内核版本 uname -r 检查系统是否受影响的版本范围 (6.16 <= version <= 6.18.33) 若版本在此范围内,则存在漏洞风险 查看 nft_inner 模块的锁定调用顺序(漏洞代码片段) grep -A 10 -B 5 "local_bh_enable" net/netfilter/nft_inner.c 检查系统日志中是否有 nft_inner 相关的 panic 或 lockup 记录 dmesg | grep -i "nft_inner|softirq|local_lock" 查看当前 netfilter 规则集(确认是否使用了内层隧道匹配) nft list ruleset | grep -i "inner" 监控 netfilter 错误路径触发频率 cat /proc/net/netfilter/nft_counter | grep -i error
Exploit: (Educational Purposes!)
// 以下代码仅用于安全研究目的,展示漏洞触发原理 // 通过构造特定的 nft_inner 错误路径数据包触发锁顺序反转 include <linux/netfilter.h> include <linux/netfilter_ipv4.h> // 触发条件:构造一个格式错误的隧道内层数据包 // 使 nft_inner 在解析内层头部时进入错误路径 // 错误路径中 local_bh_enable() 先于 local_unlock_nested_bh() 执行 // 攻击者可发送大量畸形封装包(如损坏的 VXLAN/Geneve 头部) // 使系统反复进入错误路径,增大死锁或 panic 概率 // 注意:实际利用需要结合具体内核版本和网络环境 // 此代码仅用于理解漏洞机理,不得用于非法目的
Protection:
1. 立即升级内核至已修复版本:6.18.34、7.0.11 或 7.1 及以上。
2. 若无法立即升级,可临时禁用 nft_inner 相关规则,避免触发错误路径:
删除所有使用 "inner" 关键字的 nftables 规则
nft list ruleset | grep -i "inner" | while read rule; do
nft delete rule $(echo $rule | awk '{print $2" "$3" "$4}')
done
3. 部署 eBPF 监控,实时检测 `local_bh_enable` 与 `local_unlock_nested_bh` 的异常调用序列。
4. 限制非信任用户对 netfilter 配置的修改权限,遵循最小权限原则。
Impact:
- 系统稳定性:攻击者可利用畸形网络包触发内核 panic,导致系统崩溃重启。
- 拒绝服务(DoS) :高吞吐量网络环境下,反复触发错误路径可造成持续的服务不可用。
- 潜在提权风险:虽非直接提权漏洞,但可利用系统不稳定状态配合其他漏洞实现权限提升。
- 影响范围:所有运行 Linux 内核 6.16 至 6.18.33 版本,且启用 netfilter 及 nft_inner 功能的系统。
🎯Let’s Practice Exploiting & Learn Patching For Free:
🎓 Live Courses & Certifications:
Join Undercode Academy for Verified Certifications
🚀 Request a Custom Project:
Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands
Sources:
Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

