Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-30480 — Доказательство концепции для CVE-2026-30480, уязвимости локального включения файлов (Local File Inclusion) в модуле NFSen системы LibreNMS, демонстрирующей обход пути для включения произвольных PHP-файлов и анализ воздействия. | Kitploit
Инструменты/GitHubGitHub/parlakbarann/cve-2026-30480
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСтатьи и ИсследованияОбучение и Образование
GitHubparlakbarann/cve-2026-30480

CVE-2026-30480

Доказательство концепции для CVE-2026-30480, уязвимости локального включения файлов (Local File Inclusion) в модуле NFSen системы LibreNMS, демонстрирующей обход пути для включения произвольных PHP-файлов и анализ воздействия.

Репозиторий
25 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-30480: LibreNMS Local File Inclusion (LFI) через Path Traversal

Обзор

Уязвимость Local File Inclusion (LFI) существует в модуле NFSen в LibreNMS. Аутентифицированный злоумышленник может использовать последовательности path traversal для включения произвольных PHP-файлов из файловой системы сервера.

ПолеЗначение
ПродуктLibreNMS
ВендорLibreNMS Project
Тип уязвимостиLocal File Inclusion (LFI) / Path Traversal
CWECWE-98, CWE-22
Оценка CVSS7.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(), которая не предотвращает последовательности path traversal.

Корневая причина

  1. Пользовательский ввод напрямую попадает в конструкцию пути к файлу
  2. Отсутствует санитизация символов path traversal (../)
  3. Отсутствует проверка по белому списку допустимых значений
  4. is_file() проверяет только существование, а не безопасность пути

Proof of Concept

Предварительные требования

  • Аутентифицированный пользователь 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. Обратите внимание, что вместо содержимого NFSen загружается содержимое страницы API Access

Ожидаемое и фактическое поведение

СценарийОжидаемоеФактическое
Обычный запросОбщая страница NFSen (Flows, Packets, Traffic)Общая страница NFSen
Вредоносный запросОбщая страница NFSenСодержимое страницы API Access

Влияние

Тип влиянияОписание
Раскрытие информацииВключение и выполнение произвольных файлов .inc.php
Повышение привилегийДоступ к страницам только для администраторов под пользователем с низкими привилегиями
Потенциальный RCEЕсли злоумышленник может контролировать содержимое любого файла .inc.php

Скриншоты

0. Версия LibreNMS

URL: https://[REDACTED]/about

Версия: 22.11.0-23-gd091788f2 (Чт 15 дек 2022)

Описание: Информация о версии LibreNMS, показывающая протестированную версию. Эта версия после патча CVE-2021-44278 (v21.12.0), что подтверждает, что это новая, незапатченная уязвимость.

Version


1. Обычная страница NFSen

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

Описание: Обычная страница NFSen/Netflow, показывающая разделы Flows, Packets и Traffic. Это ожидаемое поведение без эксплуатации.

Normal


2. Эксплуатация — страница API Access (пользователь-администратор)

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

Полезная нагрузка: ..%2f..%2fapi-access (URL-кодированный path traversal)

Описание: При внедрении вредоносной полезной нагрузки вместо содержимого NFSen загружается содержимое страницы API Access. Это демонстрирует успешную Local File Inclusion — файл api-access.inc.php был включён вместо general.inc.php.

Exploit Admin


3. Эксплуатация — ошибка прав доступа (пользователь Global Read)

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

Полезная нагрузка: ..%2f..%2fapi-access (URL-кодированный path traversal)

Описание: Та же эксплуатация была предпринята с пользователем с более низкими привилегиями (Global Read). Страница показывает ошибку "You have insufficient permissions to view this page". Это подтверждает:

  1. Уязвимость LFI сработала (файл был включён)
  2. Сработала внутренняя проверка прав доступа целевого файла
  3. Отображается другое содержимое по сравнению с обычной страницей NFSen

Exploit User

Затронутые версии

  • Версии LibreNMS, содержащие модуль NFSen
  • Протестировано на: 22.11.0-23-gd091788f2 (15 дек 2022)
  • Уязвимость существует в текущей ветке 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() для удаления path traversal:

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-14Опубликован CVE, вендор уведомлён
2026-04-14Публичное раскрытие

Ссылки

  • CWE-98: Improper Control of Filename for Include/Require Statement
  • CWE-22: Improper Limitation of a Pathname to a Restricted Directory
  • OWASP Path Traversal
  • LibreNMS Official Website

Отказ от ответственности

Этот отчёт об уязвимости предоставлен исключительно в образовательных целях и для авторизованных исследований в области безопасности. Исследователь следовал практике ответственного раскрытия, уведомив вендора до публичного раскрытия.

Авторство

Обнаружено: Ömer Baran Parlak
Контакт: [email protected]
GitHub: parlakbarann

Скачать инструмент