Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-30480 — CVE-2026-30480 的概念验证,这是 LibreNMS NFSen 模块中的一个本地文件包含漏洞,演示了通过路径遍历来包含任意 PHP 文件及影响分析。 | Kitploit
工具/GitHubGitHub/parlakbarann/cve-2026-30480
漏洞分析漏洞利用Web应用程序漏洞利用论文与研究学习与教育
GitHubparlakbarann/cve-2026-30480

CVE-2026-30480

CVE-2026-30480 的概念验证,这是 LibreNMS NFSen 模块中的一个本地文件包含漏洞,演示了通过路径遍历来包含任意 PHP 文件及影响分析。

查看仓库
4个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-30480: LibreNMS 本地文件包含(LFI)漏洞——路径遍历

概述

LibreNMS 的 NFSen 模块中存在一个本地文件包含(LFI)漏洞。经过身份验证的攻击者可以利用路径遍历序列,从服务器文件系统中包含任意 PHP 文件。

字段值
产品LibreNMS
厂商LibreNMS 项目
漏洞类型本地文件包含(LFI)/ 路径遍历
CWECWE-98, CWE-22
CVSS 评分7.5 - 8.5(高危)
是否需要认证是
发现日期2026-02-01

受影响组件

文件: includes/html/pages/device/nfsen.inc.php
行号: 46-48

root@kitploit:~
if (is_file('includes/html/pages/device/nfsen/' . $vars['nfsen'] . '.inc.php')) {
    include 'includes/html/pages/device/nfsen/' . $vars['nfsen'] . '.inc.php';
} else {
    include 'includes/html/pages/device/nfsen/general.inc.php';
}

漏洞描述

$vars['nfsen'] 参数来源于用户输入($_GET/$_POST),并被直接拼接进 include() 语句中,且未经过适当的净化处理。唯一执行的验证是 is_file() 检查,该检查无法阻止路径遍历序列。

根本原因

  1. 用户输入直接流入文件路径构造过程
  2. 未对路径遍历字符(../)进行净化处理
  3. 未对允许的值进行白名单验证
  4. is_file() 仅检查文件是否存在,而不检查路径安全性

概念验证

前提条件

  • 经过身份验证的 LibreNMS 用户
  • 至少可访问一台具有 Netflow/NFSen 标签页的设备

复现步骤

  1. 以任意已认证用户身份登录 LibreNMS

  2. 导航至任意设备的 Netflow 标签页:

    root@kitploit:~
    https://[TARGET]/device/[DEVICE_ID]/tab=netflow
    
  3. 附加恶意参数:

    root@kitploit:~
    https://[TARGET]/device/[DEVICE_ID]/tab=netflow?nfsen=..%2f..%2fapi-access
    
  4. 观察发现 API Access 页面内容被加载,而非 NFSen 内容

预期行为与实际行为对比

场景预期实际
正常请求NFSen 常规页面(流量、数据包、通信量)NFSen 常规页面
恶意请求NFSen 常规页面API Access 页面内容

影响

影响类型描述
信息泄露包含并执行任意 .inc.php 文件
权限提升以低权限用户身份访问仅限管理员访问的页面
潜在远程代码执行(RCE)如果攻击者能够控制任意 .inc.php 文件的内容

截图

0. LibreNMS 版本

URL: https://[REDACTED]/about

版本: 22.11.0-23-gd091788f2(2022 年 12 月 15 日,周四)

描述: 显示所测试版本的 LibreNMS 版本信息。该版本晚于 CVE-2021-44278 补丁版本(v21.12.0),确认这是一个新的、未修补的漏洞。

版本


1. 正常 NFSen 页面

URL: https://[REDACTED]/device/114/tab=netflow

描述: 显示流量、数据包和通信量部分的正常 NFSen/Netflow 页面。这是未进行利用时的预期行为。

正常


2. 已利用——API Access 页面(管理员用户)

URL: https://[REDACTED]/device/114/tab=netflow?nfsen=..%2f..%2fapi-access

载荷: ..%2f..%2fapi-access(URL 编码的路径遍历)

描述: 当注入恶意载荷时,API Access 页面内容被加载,而非 NFSen 内容。这证明了本地文件包含攻击成功——api-access.inc.php 文件被包含,而非 general.inc.php。

管理员利用


3. 已利用——权限错误(全局只读用户)

URL: https://[REDACTED]/device/114/tab=netflow?nfsen=..%2f..%2fapi-access

载荷: ..%2f..%2fapi-access(URL 编码的路径遍历)

描述: 使用低权限用户(全局只读)尝试相同的利用方式。页面显示“您没有足够的权限查看此页面”的错误。这确认了:

  1. LFI 漏洞生效(文件已被包含)
  2. 目标文件的内部权限检查被触发
  3. 与正常 NFSen 页面相比,显示了不同的内容

用户利用

受影响版本

  • 包含 NFSen 模块的 LibreNMS 版本
  • 测试版本:22.11.0-23-gd091788f2(2022 年 12 月 15 日)
  • 当前 master 分支中存在该漏洞
  • 注意: 此漏洞不同于 CVE-2021-44278(该漏洞影响 showconfig.inc.php,已在 v21.12.0 中修复)。此漏洞影响 nfsen.inc.php,且尚未修补。

修复建议

推荐修复方案

实施基于白名单的验证:

root@kitploit:~
$allowed_pages = ['general', 'stats', 'channel'];

if (in_array($vars['nfsen'], $allowed_pages, true)) {
    include 'includes/html/pages/device/nfsen/' . $vars['nfsen'] . '.inc.php';
} else {
    include 'includes/html/pages/device/nfsen/general.inc.php';
}

替代修复方案

使用 basename() 去除路径遍历:

root@kitploit:~
$nfsen_page = basename($vars['nfsen']);
if (is_file('includes/html/pages/device/nfsen/' . $nfsen_page . '.inc.php')) {
    include 'includes/html/pages/device/nfsen/' . $nfsen_page . '.inc.php';
}

时间线

日期操作
2026-02-01发现漏洞
2026-04-14CVE 发布,通知厂商
2026-04-14公开披露

参考资料

  • CWE-98:对 Include/Require 语句文件名的控制不当
  • CWE-22:对受限目录路径名的限制不当
  • OWASP 路径遍历
  • LibreNMS 官方网站

免责声明

本漏洞报告仅供教育和授权的安全研究目的使用。研究人员遵循了负责任披露原则,在公开披露之前已通知厂商。

致谢

发现者: Ömer Baran Parlak
联系方式: [email protected]
GitHub: parlakbarann

下载工具