☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Linux Kernel logo [ WEBSITE ] [ VENDOR STATS ]
SOON 🐛 CWE-833
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-97956

CVE-2026-97956 Vulnerability in Linux
📅 PUBLISHED: 2026-09-25 00:00 UTC 🔄 UPDATED: 2026-10-02 23:56 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix ⏳ CVSS score pending NVD analysis
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.17%
👁️
0.17% probability
4.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

执行摘要

CVE-2026-97956 是 Linux 内核 net_failover 驱动中的一个死锁漏洞,在网络设备名称变更路径(net_failover_slave_name_change())中触发。当拥有配置网络接口所需权限的本地攻击者或进程在 failover 从属设备上发起名称变更时,dev_open() 路径会尝试获取调用链上层已由 netdev_lock_ops() 持有的互斥锁,导致内核在持有 RTNL 的情况下死锁。影响是拒绝服务:任务阻塞、RTNL 锁被无限期持有,内核网络配置操作停止运行 — 在受影响系统上可能造成 panic 或不可恢复的挂起。

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

技术分析

net_failover 驱动提供一对设备(一个主设备和一个从属设备)的故障转移能力。当从属网络设备被重命名时,网络设备通知器链会调用 net_failover_slave_name_change() 来更新驱动的内部状态。在易受攻击的代码路径中,该函数调用了 dev_open()。

NVD 描述中的回溯记录了确切的机制:

mutex_lock+0x3b/0x50
dev_open+0x3b/0xe0
net_failover_slave_name_change+0x22/0x40
failover_event+0xd4/0x1e0
...
netif_change_name+0x200/0x330
do_setlink.isra.0+0xb12/0xdf0
rtnl_setlink+0x302/0x670
...
__x64_sys_sendto+0x24/0x40

关键的架构细节在描述中有明确说明:netdev_lock_ops() 已被上层调用者持有。当名称变更通知到达 net_failover_slave_name_change() 时,调用 dev_open() 会尝试获取一个该函数的调用上下文已持有的互斥锁,导致经典的自死锁 / 递归锁情景。根据描述,修复的方法是用 netif_open() 替代 dev_open(),因为 netif_open() 假定锁已持有。

这被明确描述为提交 b84c5632c7b3(“net: net_failover: Fix the deadlock in slave register”)的同类修复,表明同类死锁缺陷此前曾在从属设备注册路径中修复过。

关于攻击面:该路径是通过 RTNL(rtnl_setlink)驱动 RTNetlink 接口名称变更请求可达的,而该请求源自 sendto() 系统调用。这需要执行网络链路配置操作所需的权限(通常是 CAP_NET_ADMIN 或等价的基于用户命名空间的权限)。提供的回溯中的 security_capable+0x9a/0x1e0 和 ns_capable+0x31/0x60 帧与此权限检查一致。

请注意:NVD 描述中未提供严重性评分、CWE、受影响版本范围和补丁提交。具体受影响的内核版本无法确定。

利用场景

未发现公开 PoC;攻击链根据漏洞类别以及 NVD 描述中的回溯进行推断。

  1. 侦察/目标识别。 攻击者需要以“本地”方式访问目标主机,并具有配置网络设备的能力 — 存在 net_failover 驱动(net_failover.ko)且存在配对的故障转移主/从设备对的系统。检查 ip link 中的故障转移配置,并确认内核暴露 net_failover_slave_name_change(即该脆弱函数存在)。

  2. 触发。 攻击者通过 RTNetlink 对故障转移从属设备执行接口重命名操作 — 对应回溯中的 rtnl_setlink / do_setlink 路径。这会触发 netif_change_name,它通过通知器链(failover_event)向下调用 net_failover_slave_name_change()。在该函数内部,对 dev_open() 的调用尝试获取调用链上层已由 netdev_lock_ops() 持有的互斥锁。

  3. 执行结果。 互斥锁永远不会被释放。执行线程阻塞在 mutex_lock → __schedule → schedule_preempt_disabled 处,如回溯所示。由于这在持有 RTNL 的情况下触发,其他需要 RTNL 的网络配置操作也会停滞。

  4. 利用后影响。 后果是拒绝服务:线程挂起、网络配置子系统及其依赖组件锁定,根据内核配置和后续操作可能发生 panic。持续/重复触发会维持 DoS 状态。NVD 描述中未暗示任何权限提升、数据泄露或持久化控制 — 影响纯粹是“可用性”驱动的。

影响评估

NVD 未提供 CVSS 评分或向量;因此无法引用 CVSS 子评分。基于回溯和描述:

  • 受影响组件: Linux 内核 net_failover 驱动。
  • 受影响主体: 具有 CAP_NET_ADMIN(或处于用户命名空间中)的本地用户/进程。
  • 影响: 拒绝服务 — 内核互斥锁死锁导致任务阻塞并长时间持有 RTNL;可能影响整个网络栈吞吐和配置。
  • 影响范围: 局限于单个主机。高度依赖故障转移配置的系统(虚拟化/云主机、NFV 节点、容器主机)在发生死锁时因网络中断面临最高风险。
  • 由于缺乏具体版本数据,无法评估普遍性。 未为 CVE-2026-97956 记录 CISA KEV 条目,也未跟踪到公开利用代码或 Nuclei 模板。

检测指南

以下规则基于死锁类别以及 NVD 描述中的 net_failover_slave_name_change / dev_open 回溯进行推断。根据跟踪的数据,没有公开的 PoC,因此没有可用的基于有效载荷的确切特征;这些规则旨在检测行为迹象(接口重命名活动、挂起的内核调用堆栈)。

Sigma 规则

title: Suspicious RTNetlink Interface Rename Targeting Failover Slave (Potential net_failover Deadlock)
id: 7f1c2d3a-4b5e-4f6a-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects RTNetlink link-name changes on failover slave interfaces, which can trigger the net_failover_slave_name_change deadlock (CVE-2026-97956).
logsource:
  product: linux
  service: auditd
detection:
  selection_syscall:
    type: SYSCALL
    syscall: sendto
  selection_keywords:
    key|contains:
      - 'net_failover'
      - 'netif_change_name'
      - 'rtnl_setlink'
  condition: selection_syscall and selection_keywords
falsepositives:
  - Legitimate network administration on failover pairs
level: medium
tags:
  - attack.impact
  - cve.2026.97956

YARA 规则

rule CVE_2026_97956_net_failover_deadlock
{
    meta:
        description = "Detects references to the net_failover deadlock fix in kernel sources, patches, or logs"
        cve = "CVE-2026-97956"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-97956"
        date = "2026-01-01"
    strings:
        $a = "net_failover_slave_name_change" ascii wide
        $b = "Fix the deadlock in net_failover_slave_name_change" ascii wide
        $c = "b84c5632c7b3" ascii wide
    condition:
        any of them
}

Suricata IDS 规则

alert ip any any -> any any (msg:"CVE-2026-97956 net_failover slave name change deadlock activity"; content:"net_failover"; nocase; threshold: type both, track by_src, count 1, seconds 60; classtype:attempted-dos; reference:cve,2026-97956; sid:202697956; rev:1;)

Elastic 检测

process where event.category == "process" and event.type == "start" and
  process.name == "ip" and
  process.args : "*set*" and
  process.args : "*name*" and
  process.args : "*failover*"

Splunk SPL 查询

index=linux_logs (sourcetype="auditd" OR sourcetype="syslog")
| search ("net_failover_slave_name_change" OR "netif_change_name" OR "rtnl_setlink")
| stats count min(_time) as firstTime max(_time) as lastTime by host, process, key
| where count > 0
| convert ctime(firstTime) ctime(lastTime)

Wazuh OSSEC 规则

<group name="linux,cve-2026-97956,">
  <rule id="100979" level="8">
    <decoded_as>syslog</decoded_as>
    <match>net_failover_slave_name_change|netif_change_name|rtnl_setlink</match>
    <description>CVE-2026-97956: possible net_failover slave name change deadlock activity detected</description>
    <mitre>
      <id>T1499</id>
    </mitre>
  </rule>
</group>

缓解与补丁指南

补丁置信度:0/4(未修补 — 无来自任何跟踪来源的补丁证据)。

NVD 描述引用了一个同类修复,并指明该缓解措施将 dev_open()(在 netdev_lock_ops() 已持有时会获取互斥锁)替换为 netif_open()(假定锁已持有)。根据跟踪的数据,该修复的任何上游提交哈希、稳定版本发布日期或受影响版本范围均不可用。在跟踪的来源中,未提供供应商修复包、变通方法或受影响版本列表。

  1. 立即缓解措施:

    • 限制具有创建/重命名网络链路权限的本地用户,即限制 CAP_NET_ADMIN 和未授权用户命名空间的创建。
    • 在不需要时禁用或卸载 net_failover 驱动(rmmod net_failover),或在不需要故障转移的负载上禁用该配置。
    • 将设备名称变更操作限制在特权受控平面内,并监控在故障转移从属设备上异常的 ip link set ... name 使用情况。
  2. 补丁/升级步骤:

    • 本 CVE 未记录可用的补丁。持续监控 Linux 内核稳定版和 LTS 分支以及 net_failover 维护者分支,以获取 b84c5632c7b3 的同类修复;待上游提交发布后再应用。
    • 在供应商内核(发行版 CVE 跟踪列表)发布后升级到相应的内核包。
  3. 长期加固:

    • 强制最小权限:极少授予本地普通用户 CAP_NET_ADMIN。
    • 采用内核加固缓解措施(例如受限用户命名空间、SELinux/AppArmor 策略)以降低该 RTNetlink 攻击面的可达性。
    • 部署上述检测规则以捕获重命名路径上的重复触发尝试,将其作为死锁风险的早期预警。

参考文献

  1. NVD — CVE-2026-97956:https://nvd.nist.gov/vuln/detail/CVE-2026-97956
  2. Linux 内核上游 net_failover 修复(由 NVD 描述引用的同胞提交):b84c5632c7b3 — “net: net_failover: Fix the deadlock in slave register”
  3. Linux 内核网络子系统文档及 net_failover 驱动源码(drivers/net/net_failover.c) — 用于理解 net_failover_slave_name_change / dev_open / netif_open 调用关系。
  4. MITRE CWE-833:死锁 — https://cwe.mitre.org/data/definitions/833.html
  5. CISA 已知被利用漏洞目录(检查结果为否,截至:未列出):https://www.cisa.gov/known-exploited-vulnerabilities-catalog

未发现公开的威胁行为者活动、公开利用代码或野利用证据与 CVE-2026-97956 相关联。

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Linux"
title:"Linux"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-97956/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.