IPBUF安全漏洞报告
English
CVE-2026-31712 CVSS 8.3 高危

CVE-2026-31712 Linux内核ksmbd越界读取漏洞

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

漏洞信息

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

相关标签

OOB ReadLinux KernelksmbdSMBCWE-125

漏洞概述

Linux内核中的ksmbd模块在处理SMB协议的DACL时存在越界读取漏洞。攻击者利用低权限认证后,通过设置精心构造的ACL,可在内核处理文件创建请求时触发越界内存读取。该漏洞可能导致内核状态损坏或KASAN告警,但不直接泄露数据给攻击者。

技术细节

漏洞位于Linux内核`ksmbd`的`smb_check_perm_dacl()`函数。该函数在遍历访问控制列表(ACL)时,仅校验了剩余缓冲区是否大于ACE头部大小,未校验ACE声明的`ace->size`是否足够覆盖后续的`access_req`和`sid`字段。攻击者可设置`ace->size`为4(仅头部),通过当前的检查逻辑。随后代码尝试读取偏移量4和8处的数据,导致越界读取。利用前提是攻击者需拥有设置文件ACL的权限。修复方案是加强ACE大小的最小值校验,确保包含完整的SID结构。

攻击链分析

STEP 1
步骤1:认证
攻击者作为经过身份验证的低权限SMB客户端连接到目标服务器。
STEP 2
步骤2:设置恶意ACL
攻击者在一个自己拥有的文件上设置一个精心构造的DACL(自由访问控制列表),其中包含一个ACE(访问控制项),该ACE的`ace->size`声明为4字节(仅包含头部)。
STEP 3
步骤3:触发漏洞
攻击者对该文件发起CREATE请求。内核在处理该请求时,调用`smb_check_perm_dacl()`函数遍历DACL。
STEP 4
步骤4:越界读取
由于校验逻辑缺陷,内核代码试图读取ACE头部之后的数据(`access_req`和`sid`),导致越界读取内核内存,可能引发KASAN报告或内核损坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept for CVE-2026-31712 * This code demonstrates the structure logic that leads to the OOB read. * An attacker would create a file and set a custom DACL via SMB. */ #include <stdio.h> #include <stdint.h> // Malformed ACE structure definition struct malicious_ace { uint8_t type; uint8_t flags; uint16_t size; // Crafted size: 4 bytes (header only) // The following fields are missing in memory but accessed by the kernel: // uint32_t access_req; // struct smb_sid sid; }; int main() { printf("CVE-2026-31712 PoC Simulation\n"); printf("Vulnerability: ksmbd OOB read in smb_check_perm_dacl\n"); printf("Step 1: Authenticate to SMB server as low-priv user.\n"); printf("Step 2: Set a DACL on a file with an ACE where size=4.\n"); printf("Step 3: Trigger CREATE request on the file.\n"); printf("Result: Kernel reads access_req at offset+4 and SID at offset+8 (OOB).\n"); return 0; }

影响范围

Linux Kernel (ksmbd module, versions prior to fix commits)

防御指南

临时缓解措施
建议立即更新Linux内核以修复此漏洞。若无法立即更新,可考虑临时禁用ksmbd服务,并严格限制对SMB共享文件系统的写入和权限修改权限,防止恶意ACL的设置。

参考链接

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