CVE-2025-62412CVE-2025-62412是LibreNMS网络监控系统中的一个存储型跨站脚本(XSS)漏洞,也称为HTML注入漏洞。LibreNMS是一款基于GPL许可证的社区驱动的网络监控工具,广泛用于企业和服务提供商环境中对网络设备、服务器和服务进行自动发现与监控。该漏洞存在于LibreNMS的Alerts(告警)模块中的Alert Rules(告警规则)页面,具体表现为告警规则的名称(Rule Name)字段未对用户输入进行充分的过滤与转义处理,攻击者可以通过构造包含恶意HTML或JavaScript代码的告警规则名称,将其持久化存储到系统中。当其他用户(包括管理员)访问告警规则页面查看告警列表时,恶意代码将在其浏览器中自动执行。该漏洞由GitHub安全顾问团队([email protected])发现并报告,CVSS 3.1基础评分为3.8分,属于低危级别。攻击者需要具备高权限(PR:H)才能创建或修改告警规则,因此该漏洞的利用门槛较高,但一旦被利用,可能导致管理员会话被劫持、敏感信息泄露或未授权操作等后果。该漏洞已在LibreNMS 25.10.0版本中修复,官方通过提交dccdf6769976a974d70f06a7ce8d5a846b29db6f对告警规则名称字段实施了严格的输入过滤和输出编码处理。
该漏洞的根本原因在于LibreNMS在处理告警规则名称时,未对用户提交的字符串进行充分的HTML实体编码或过滤。具体技术原理如下:
1. **输入点**:Alerts > Alert Rules页面中的告警规则名称输入字段。当具有高权限的用户(如管理员)创建或编辑告警规则时,可以在该字段中输入任意字符串。
2. **存储机制**:用户输入的告警规则名称未经转义即被直接存储到数据库中。恶意载荷(如`<script>`标签、`<img onerror>`事件处理器或`<iframe>`等)以原始形式持久化。
3. **输出渲染**:当其他用户访问告警规则列表页面时,服务器从数据库读取告警规则名称并直接渲染到HTML页面中,未对输出内容进行HTML实体编码(如将`<`转义为`<`)。
4. **触发执行**:浏览器解析HTML时,将恶意载荷作为可执行脚本或活动内容处理,从而在受害者上下文中执行任意JavaScript代码。
利用方式:攻击者首先需要获取LibreNMS的高权限账户(管理员或具有告警规则管理权限的账户)。然后,在创建或编辑告警规则时,将恶意HTML/JavaScript代码嵌入到规则名称字段中保存。当管理员或其他用户查看告警规则页面时,恶意代码将在其浏览器中自动执行,可用于窃取会话Cookie、CSRF令牌,或执行管理操作(如创建新管理员账户、修改配置等)。