IPBUF安全漏洞报告
English
CVE-2026-43424 CVSS 5.5 中危

CVE-2026-43424 Linux内核USB gadget空指针解引用漏洞

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

漏洞信息

漏洞编号
CVE-2026-43424
漏洞类型
空指针解引用
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux KernelDoSNull Pointer DereferenceUSBLocal

漏洞概述

该漏洞存在于Linux内核的USB gadget子系统的f_tcm驱动中。由于`bot_submit_command()`等函数在处理BOT命令时,未对动态管理的`tpg->tpg_nexus`指针进行NULL校验,当USB主机在nexus未建立或已释放时发送请求,会导致内核空指针解引用,引发系统崩溃(本地拒绝服务)。

技术细节

漏洞发生在Linux内核USB Target驱动的nexus处理逻辑中。`tpg->tpg_nexus`指针由ConfigFS动态管理,在USB主机发送请求的时间点可能为NULL(例如nexus建立前或刚断开后)。然而,`bot_submit_command()`函数及数据传输路径直接获取该指针并立即解引用`tv_nexus->tvn_se_sess`,未进行任何验证。这导致了模块内API使用的不一致,因为同模块的`usbg_submit_command()`等其他函数正确实现了NULL检查。本地低权限攻击者可利用此竞态窗口,发送特制的BOT命令触发内核panic,造成系统拒绝服务。

攻击链分析

STEP 1
步骤1
攻击者配置USB gadget环境,并利用ConfigFS制造nexus指针为NULL的竞态窗口。
STEP 2
步骤2
攻击者作为USB主机,在nexus未建立或刚断开时,发送恶意的BOT(Bulk-Only Transport)命令。
STEP 3
步骤3
内核执行`bot_submit_command()`函数,直接解引用NULL指针`tv_nexus->tvn_se_sess`。
STEP 4
步骤4
触发内核异常(Kernel Panic),导致系统崩溃,实现本地拒绝服务攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC to trigger the race condition // This requires a malicious USB host controller or emulation. #include <linux/usb/gadget.h> // ... includes ... void trigger_cve() { // 1. Ensure the gadget is configured but nexus is NULL/Racing // 2. Send a BOT command immediately struct usb_request *req; // ... setup request ... // Sending BOT command while tpg->tpg_nexus is NULL // This calls bot_submit_command() which crashes on: // tv_nexus = tpg->tpg_nexus; // tv_nexus->tvn_se_sess (Dereference NULL) // Send malicious URB usb_ep_queue(ep, req, GFP_KERNEL); }

影响范围

Linux Kernel (具体受影响版本请参考Git提交记录)

防御指南

临时缓解措施
限制对USB gadget端口的物理访问权限,或暂时禁用相关的USB gadget功能模块以降低风险。

参考链接

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