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

CVE-2026-43443: Linux内核AMD ACP驱动缺失时钟检查致崩溃

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

漏洞信息

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

相关标签

Linux KernelDoS空指针解引用AMD本地权限

漏洞概述

Linux内核中的AMD ACP音频驱动存在漏洞。在初始化RT5682/RT5682S声卡组件时,相关函数未对时钟获取函数clk_get()的返回值进行校验。若获取失败,后续代码解引用无效指针将导致系统内核崩溃。

技术细节

该漏洞位于Linux内核的ASoC子系统中,具体涉及文件sound/soc/amd/acp/acp-mach-common.c。函数acp_card_rt5682_init()和acp_card_rt5682s_init()在调用clk_get()获取时钟资源时,假设其总是成功并返回有效指针。然而,在硬件异常或资源不足情况下,clk_get()可能返回错误指针(如ERR_PTR(-ENOENT))。由于代码缺乏IS_ERR()检查,该错误指针随后被传递给时钟核心函数进行解引用操作。攻击者利用本地低权限触发音频设备初始化流程,即可诱发内核空指针解引用异常,导致系统拒绝服务。

攻击链分析

STEP 1
1. 本地访问
攻击者获得本地系统的低权限用户访问权限。
STEP 2
2. 触发初始化
攻击者执行操作以触发AMD ACP音频驱动的初始化流程(例如加载内核模块或打开音频设备)。
STEP 3
3. 资源获取失败
驱动执行clk_get()尝试获取时钟资源,假设由于某种原因(如配置错误)该操作返回错误指针。
STEP 4
4. 非法解引用
由于缺少错误检查,驱动后续代码对错误指针进行解引用操作。
STEP 5
5. 系统崩溃
内核检测到非法内存访问,触发OOPS或Panic,导致系统拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept: Triggering the vulnerable code path * This involves initializing the sound card where the clk_get fails. */ #include <linux/module.h> #include <linux/platform_device.h> // Simulating the vulnerable initialization flow static int vulnerable_init(struct device *dev) { struct clk *clk; // Vulnerability: clk_get return value not checked clk = clk_get(dev, "rt5682_mclk"); // If clk_get fails, clk is an error pointer. // The following dereference causes a Kernel Panic/Oops. // clk_prepare_enable(clk); return 0; }

影响范围

Linux Kernel (受影响版本请参考参考链接中的Git提交信息)

防御指南

临时缓解措施
建议立即更新系统内核以修复该漏洞。若无法立即更新,可暂时限制对音频设备的访问权限或禁用相关的AMD ACP音频驱动模块以降低风险。

参考链接

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