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

Linux内核SUNRPC svcauth_gss空指针解引用漏洞 (CVE-2025-71120)

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

漏洞信息

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

相关标签

空指针解引用Linux内核SUNRPCsvcauth_gss拒绝服务本地攻击CVE-2025-71120内核漏洞GSSAPIRPC

漏洞概述

CVE-2025-71120是Linux内核中SUNRPC(Sun Remote Procedure Call)组件的svcauth_gss模块存在的一个空指针解引用漏洞。该漏洞位于gss_read_proxy_verf函数中,当处理长度为零的gss_token时,由于pages==0导致in_token->pages[0]为NULL,但代码仍会无条件执行page_address(in_token->pages[0])进行memcpy操作,即使拷贝长度为0也会尝试解引用NULL指针,可能导致系统崩溃或拒绝服务。攻击者可通过本地低权限账户触发该漏洞,造成可用性影响(高)。该漏洞CVSS评分5.5,属于中等严重级别,需要本地访问且低权限即可利用。

技术细节

漏洞根源在于gss_read_proxy_verf函数对gss_token长度检查不完善。当接收到的gss_token长度为0时,会导致以下情况:(1) pages == 0,表示没有页面分配;(2) in_token->pages[0]为NULL,因为没有分配任何页面;(3) 代码逻辑中,无论copy_length是否为0,都会执行page_address(in_token->pages[0])的解引用操作。攻击者可通过构造特殊的RPC请求,发送长度为0的gss_token,触发NULL指针解引用。成功利用可导致内核panic,造成系统崩溃。修复方案是在执行第一个memcpy前增加长度检查,确保仅当length > 0时才执行page_address解引用操作。相关补丁已在多个稳定内核版本中推送,包括commit 1c8bb965e9b0559ff0f5690615a527c30f651dd8、4dedb6a11243a5c9eb9dbb97bca3c98bd725e83d等。

攻击链分析

STEP 1
1
攻击者获得Linux系统的本地低权限访问权限(PR:L)
STEP 2
2
识别目标系统运行支持GSS认证的SUNRPC服务(如NFSv4)
STEP 3
3
构造包含长度为0的gss_token的特殊RPC认证请求
STEP 4
4
发送恶意RPC请求到svcauth_gss模块,触发gss_read_proxy_verf函数
STEP 5
5
函数执行page_address(in_token->pages[0])时解引用NULL指针
STEP 6
6
导致内核panic或系统拒绝服务(可用性影响:高)

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * CVE-2025-71120 PoC - Linux kernel SUNRPC svcauth_gss NULL dereference * This PoC demonstrates the vulnerability in gss_read_proxy_verf function * when handling zero-length gss_token. * * Note: This is a kernel vulnerability requiring specific kernel configuration * with SUNRPC and GSSAPI support enabled. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> /* RPC message structure for SUNRPC */ struct rpc_msg { unsigned int rm_xid; unsigned int rm_direction; unsigned int rm_call; unsigned int rm_rpcvers; unsigned int rm_prog; unsigned int rm_vers; unsigned int rm_proc; }; /* GSS authentication token with zero length */ struct gss_token { unsigned int length; /* Set to 0 to trigger vulnerability */ char *data; }; void trigger_null_deref() { printf("[*] CVE-2025-71120 - Triggering NULL pointer dereference\n"); printf("[*] Target: Linux kernel SUNRPC svcauth_gss\n"); printf("[*] Function: gss_read_proxy_verf\n"); printf("[*] Sending RPC request with zero-length gss_token...\n"); /* * In a real exploit scenario, this would involve: * 1. Establishing RPC connection to portmap/nfs service * 2. Sending AUTH_GSS authentication request * 3. Crafting gss_token with length=0 * 4. Triggering gss_read_proxy_verf() to process the token * * This causes in_token->pages[0] to be NULL and * page_address(NULL) dereference in memcpy operation. */ int sock = socket(AF_INET, SOCK_DGRAM, 0); if (sock < 0) { perror("[-] Failed to create socket"); return; } /* * Real exploitation requires: * - Kernel with SUNRPC CONFIG_SUNRPC enabled * - GSSAPI support (CONFIG_SUNRPC_GSS) * - NFS or other RPC service using GSS authentication * - Sending crafted RPC/AUTH_GSS messages */ printf("[!] This PoC requires kernel debugging environment\n"); printf("[!] For testing, compile as kernel module with KPROBES\n"); printf("[!] Or use kernel fuzzer targeting rpc_auth_gss\n"); close(sock); } int main(int argc, char *argv[]) { printf("===========================================\n"); printf("CVE-2025-71120 PoC\n"); printf("Linux kernel SUNRPC svcauth_gss NULL deref\n"); printf("===========================================\n\n"); trigger_null_deref(); return 0; }

影响范围

Linux kernel < 5.15.x (需验证具体commit)
Linux kernel < 5.10.x (需验证具体commit)
Linux kernel < 5.4.x (需验证具体commit)
Red Hat Enterprise Linux 8.x
Red Hat Enterprise Linux 9.x
Ubuntu 22.04 LTS
Debian 12.x

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:(1) 禁用不必要的NFSv4和RPC服务;(2) 使用防火墙限制RPC端口访问;(3) 启用SELinux/AppArmor强制访问控制策略限制RPC服务权限;(4) 监控和审计RPC认证日志;(5) 考虑使用kptr_restrict和dmesg_restrict限制内核信息泄露。长期解决方案是尽快应用内核安全更新。

参考链接

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