IPBUF安全漏洞报告
English
CVE-2026-31736 CVSS 5.5 中危

CVE-2026-31736 Linux内核mtk_ppe空指针解引用漏洞

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

漏洞信息

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

相关标签

Linux KernelNull Pointer DereferenceDoSmtk_ppeMediaTekLocal Vulnerability

漏洞概述

Linux内核网络驱动mtk_ppe组件存在空指针解引用漏洞。在gmac0被禁用的特定配置下,代码对入口设备的有效性检查逻辑存在缺陷,直接访问了为NULL的eth->netdev[0]及其netdev_ops。本地低权限攻击者可利用此缺陷触发系统崩溃,造成拒绝服务攻击。该漏洞CVSS v3.1评分为5.5,属于中危风险,影响系统可用性。

技术细节

该漏洞源于Linux内核MediaTek以太网驱动(mtk_ppe)中存在逻辑缺陷。在处理数据包入口检查时,代码直接引用了`eth->netdev[0]`指向的`netdev_ops`结构体,而未充分验证该指针的有效性。在某些特定的硬件配置下,如果GMAC0接口被禁用,`eth->netdev[0]`将被初始化为NULL。此时,系统流量触发检查逻辑时,尝试访问NULL指针的成员变量,导致内核发生空指针解引用错误(Kernel Oops),进而引发系统崩溃或重启。由于攻击向量为本地(AV:L),攻击者需要本地低权限账号(PR:L)才能触发此漏洞,主要影响系统的可用性(A:H),不会导致数据泄露或权限提升。

攻击链分析

STEP 1
侦察与访问
攻击者获取目标Linux系统的本地低权限访问权限。
STEP 2
环境确认
确认目标系统使用MediaTek以太网驱动,且处于gmac0被禁用的配置状态。
STEP 3
触发漏洞
攻击者发送网络数据包或触发网络流量,导致mtk_ppe组件执行入口设备检查。
STEP 4
系统崩溃
由于代码尝试访问NULL指针,内核触发空指针解引用错误,导致系统崩溃或重启。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept: Demonstration of the NULL pointer dereference logic * This snippet illustrates the vulnerable logic in mtk_ppe.c. * Exploitation requires a specific kernel configuration where gmac0 is disabled. */ #include <linux/netdevice.h> // Simplified structure representation struct mtk_eth { struct net_device *netdev[2]; // netdev[0] is NULL when gmac0 is disabled }; void vulnerable_check(struct mtk_eth *eth, struct net_device *ingress_dev) { // Vulnerable logic: Directly accesses netdev[0] without checking if it is NULL if (eth->netdev[0]->netdev_ops == ingress_dev->netdev_ops) { // Do something } } void fixed_check(struct mtk_eth *eth, struct net_device *ingress_dev) { // Fixed logic: Check if netdev[0] is valid first int i; for (i = 0; i < 2; i++) { if (eth->netdev[i] && eth->netdev[i]->netdev_ops == ingress_dev->netdev_ops) { // Do something break; } } }

影响范围

Linux Kernel (Stable branches before commit 0b832aad33e6f160fda310f0306a6483d85e9d6e)
Linux Kernel (Stable branches before commit 5dff799c677152dde963c3917bacd9127b03e145)
Linux Kernel (Stable branches before commit 7b2380f0a0e374010c1a4a13203511b9dee5b166)
Linux Kernel (Stable branches before commit 976ff48c2ac6e6b25b01428c9d7997bcd0fb2949)

防御指南

临时缓解措施
如果无法立即升级内核,建议在硬件或BIOS配置中启用GMAC0接口,避免`eth->netdev[0]`为NULL的情况,从而规避漏洞触发条件。同时限制本地非信任用户的访问权限。

参考链接

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