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

Linux Kernel DAMON空指针解引用漏洞(CVE-2026-31458)

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

漏洞信息

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

相关标签

Linux KernelDAMON空指针解引用拒绝服务本地漏洞Sysfs

漏洞概述

Linux内核中的DAMON sysfs组件存在空指针解引用漏洞。由于代码在访问contexts_arr[0]前未检查kdamond->contexts->nr数量,本地低权限用户可通过sysfs将nr_contexts设置为0。随后,当系统尝试执行update_schemes_stats等状态更新操作时,会触发空指针解引用导致内核崩溃,从而造成拒绝服务攻击。

技术细节

该漏洞发生于Linux内核的mm/damon/sysfs.c文件中。核心原因在于damon_sysfs_handle_cmd()及相关处理路径缺少对kdamond->contexts->nr的边界检查。当DAMON处于运行状态时,攻击者首先利用damo start启动服务,接着通过sysfs文件系统将/sys/kernel/mm/damon/admin/kdamonds/0/contexts/nr_contexts的值置为0。此时若攻击者执行echo update_schemes_stats > state等命令,系统会尝试解引用contexts_arr[0],但由于数组为空,该指针指向NULL,进而触发内核异常。此漏洞利用门槛低,仅需本地低权限即可导致系统严重不稳定,属于典型的逻辑错误引发的内存安全问题。官方修复方案是在处理命令入口处增加对contexts数量的校验,确保非OFF命令执行时contexts_arr有效。

攻击链分析

STEP 1
步骤1: 获取权限
攻击者获取本地低权限用户访问权限。
STEP 2
步骤2: 启动DAMON
攻击者执行damo start启动DAMON数据访问监控服务。
STEP 3
步骤3: 修改配置
攻击者通过sysfs接口将contexts/nr_contexts的值设置为0,清空上下文数组。
STEP 4
步骤4: 触发漏洞
攻击者执行echo update_schemes_stats > state等命令,触发对空指针的解引用操作。
STEP 5
步骤5: 系统崩溃
内核捕获到空指针解引用异常,导致系统崩溃或拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-31458: Linux Kernel DAMON NULL Pointer Dereference # Requires local access and privileges to modify sysfs # 1. Start DAMON damo start # 2. Set context count to 0 via sysfs cd /sys/kernel/mm/damon/admin/kdamonds/0 echo 0 > contexts/nr_contexts # 3. Trigger NULL pointer dereference by updating state echo update_schemes_stats > state # This command causes the kernel to crash because contexts_arr[0] is NULL

影响范围

Linux Kernel (修复补丁发布前版本)

防御指南

临时缓解措施
建议用户升级内核。若无法立即升级,应限制对DAMON sysfs接口的访问权限,确保只有受信任的管理员才能修改nr_contexts参数,并避免在运行时将上下文数量设置为0。

参考链接

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