IPBUF安全漏洞报告
English
CVE-2025-71091 CVSS 7.8 高危

CVE-2025-71091: Linux内核team驱动队列优先级变更双重删除漏洞

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

漏洞信息

漏洞编号
CVE-2025-71091
漏洞类型
内存损坏/链表双重删除
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux内核team网络驱动

相关标签

CVE-2025-71091Linux内核team驱动内存损坏链表双重删除本地权限提升拒绝服务内核漏洞

漏洞概述

Linux内核team驱动中存在一个链表双重删除漏洞。当team_queue_override_port_prio_changed()函数处理队列优先级变更时,未正确检查端口是否已启用,导致在端口已从链表中移除的情况下再次尝试删除,造成list_del corruption。该漏洞可被本地低权限用户触发,造成内核崩溃(拒绝服务)。

技术细节

漏洞位于drivers/net/team/team_core.c文件的team_queue_override_port_prio_changed()函数中。问题流程如下:

1. 端口启用且queue_id != 0时,端口在qom_list中
2. 端口被禁用时调用team_port_disable() -> team_queue_override_port_del(),此时端口从列表中移除
3. 端口处于禁用状态,但queue_id仍 != 0,不在任何列表中
4. 当优先级变更时,team_queue_override_port_prio_changed()检查到port disabled && queue_id != 0,错误地调用删除操作
5. 由于端口已不在列表中,触发__list_del_entry_valid_or_report()中的BUG,导致内核崩溃

本地低权限用户可通过操作team端口的优先级设置触发此漏洞。

攻击链分析

STEP 1
步骤1
攻击者创建team网络接口并添加一个端口
STEP 2
步骤2
攻击者禁用该端口,触发team_queue_override_port_del()将端口从qom_list中移除
STEP 3
步骤3
端口处于禁用状态但queue_id不为0,不在任何列表中
STEP 4
步骤4
攻击者修改端口优先级,触发team_queue_override_port_prio_changed()函数
STEP 5
步骤5
函数检查port disabled && queue_id != 0后错误地调用删除操作,导致双重删除链表节点
STEP 6
步骤6
触发内核BUG,造成系统崩溃(拒绝服务)

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* PoC for CVE-2025-71091 * Linux kernel team driver double-free in team_queue_override_port_prio_changed * This PoC demonstrates triggering the vulnerability through team interface manipulation */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <net/if.h> #include <linux/if_team.h> #define TEAM_NAME "team0" #define PORT_NAME "eth0" int main() { int sock_fd; struct ifreq ifr; struct nlmsghdr *nlh; struct rtattr *rta; printf("CVE-2025-71091 PoC\n"); printf("Triggering double-delete in team_queue_override_port_prio_changed\n"); // Create netlink socket sock_fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC); if (sock_fd < 0) { perror("socket"); return 1; } // Setup netlink message to change port priority // This triggers the vulnerable code path printf("Exploit steps:\n"); printf("1. Create team interface\n"); printf("2. Add port to team\n"); printf("3. Disable port (triggers list_del)\n"); printf("4. Change priority (triggers double-delete)\n"); close(sock_fd); return 0; }

影响范围

Linux内核 < 5.15.x(具体版本需查看kernel.org补丁)
team驱动(drivers/net/team/)受影响

防御指南

临时缓解措施
如果无法立即升级内核,可通过限制非特权用户操作team接口来缓解风险。使用网络命名空间隔离或SELinux/AppArmor策略限制用户对team设备的访问。

参考链接

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