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

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

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

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

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

Категории

Все категории
Loading categories
cve-2026-16219-croogo-lab — Безопасно демонстрирует CVE-2026-16219 path traversal в Croogo CMS с loopback-only PoC, техническим анализом, рекомендациями по устранению и автономным демо для защитников и исследователей. | Kitploit
Инструменты/GitHubGitHub/hellboy3110/cve-2026-16219-croogo-lab
Сканеры уязвимостейЭксплуатацияВеб-безопасностьСтатьи и ИсследованияОбучение и ОбразованиеЛаборатории и Практика
GitHubhellboy3110/cve-2026-16219-croogo-lab

cve-2026-16219-croogo-lab

Безопасно демонстрирует CVE-2026-16219 path traversal в Croogo CMS с loopback-only PoC, техническим анализом, рекомендациями по устранению и автономным демо для защитников и исследователей.

Популярное

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

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

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

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

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

CVE-2026-16219: Лабораторная по защите FileManager в Croogo

Safety: loopback only PoC payload: text only

Этот репозиторий документирует и безопасно демонстрирует уязвимость обхода авторизации пути, отслеживаемую как CVE-2026-16219 в Croogo CMS. Он предназначен для защитников, сопровождающих, студентов и исследователей, тестирующих системы, которыми они владеют или на тестирование которых имеют явное разрешение.

Граница безопасности: Включенный PoC через HTTP принимает только буквальный адрес loopback 127.0.0.1, записывает только сгенерированный маркер .txt в фиксированное не-веб-назначение /tmp/croogo-cve-2026-16219/, не следует за редиректами и отказывается запускаться без явного лабораторного подтверждения. Он не содержит исполняемой нагрузки и не имеет режима удаленной цели.

Текущий статус

Дата снимка: 2026-07-20.

Текущий статус может измениться. Перепроверьте первоисточники в docs/references.md перед принятием производственных решений.

В чем проблема

Croogo настраивает узкий редактируемый корень, например WWW_ROOT/assets. Затронутый хелпер получает FileManager.editablePaths с помощью Configure::check(), а не Configure::read(). check() отвечает, существует ли ключ; он не возвращает список настроенных путей. Полученное логическое значение затем используется в проверке на попадание в путь, что подрывает предполагаемую границу авторизации.

Операции создания и редактирования File Manager доверяют этой проверке. В условиях, описанных в upstream отчете, аутентифицированный пользователь FileManager может записывать за пределами настроенного редактируемого корня, если учетная запись службы PHP может записывать в выбранное место.

См. docs/technical-analysis.md для описания потока данных и docs/remediation.md для рекомендаций по усилению защиты.

Содержимое репозитория

root@kitploit:~
.
|-- demo/                         Автономная демонстрация логики; Croogo не требуется
|-- docs/                         Анализ, настройка лаборатории, обнаружение, устранение, ссылки
|-- patches/                      Иллюстративный патч для защиты в глубину
|-- poc/                          Строго loopback, текстовый маркер HTTP PoC и инструменты очистки
|-- tests/                        Тесты и демо-тесты
|-- .github/workflows/validate.yml
|-- DISCLAIMER.md
|-- GITHUB_UPLOAD.md
|-- LICENSE
|-- Makefile
|-- SECURITY.md
`-- VERSION

Самая быстрая безопасная демонстрация

Автономная модель объясняет ошибку без запуска уязвимой CMS или отправки сетевых запросов:

root@kitploit:~
php demo/path_authorization_demo.php

Ожидаемый результат:

root@kitploit:~
Buggy modeled check for outside path: ALLOWED
Safe boundary check for outside path: DENIED

Демонстрация создает временные файлы в системном временном каталоге и удаляет их перед завершением.

Локальный PoC для лаборатории Croogo

1. Подготовьте изолированную лабораторию

Следуйте docs/lab-setup.md. Привяжите приложение только к 127.0.0.1 и создайте фиксированный каталог для маркеров внутри той же ВМ или контейнера, что и Croogo:

root@kitploit:~
sudo install -d -o www-data -g www-data -m 0750 \
  /tmp/croogo-cve-2026-16219

Замените www-data на учетную запись PHP-FPM или веб-сервера в одноразовой лаборатории.

2. Экспортируйте значения аутентификации только для лаборатории

Получите полный заголовок Cookie и CakePHP CSRF-токен из легитимного запроса File Manager в вашей собственной лаборатории. Никогда не сохраняйте их в репозитории.

root@kitploit:~
export BASE='http://127.0.0.1:8080'
export COOKIE='CAKEPHP=lab-session; csrfToken=lab-cookie-token'
export CSRF_TOKEN='lab-request-token'
export LAB_ACK='I_OWN_THIS_LAB'

3. Проверьте защитные механизмы без отправки запроса

root@kitploit:~
POC_VALIDATE_ONLY=1 ./poc/croogo_local_poc.sh

4. Отправьте запрос с текстовым маркером

root@kitploit:~
./poc/croogo_local_poc.sh

Скрипт выводит сгенерированное имя файла и HTTP-статус. HTTP-редирект или успешный ответ сами по себе не являются доказательством; проверьте маркер изнутри ВМ или контейнера Croogo:

root@kitploit:~
sudo ./poc/verify_marker.sh

Маркер за пределами WWW_ROOT/assets демонстрирует сбой авторизации. Маркер представляет собой обычный текст и не является веб-исполняемым.

5. Очистка

root@kitploit:~
sudo LAB_ACK='I_OWN_THIS_LAB' ./poc/cleanup_marker.sh
unset COOKIE CSRF_TOKEN LAB_ACK BASE

Тестирование репозитория

root@kitploit:~
make test

Тесты проверяют синтаксис оболочки, отклоняют не-loopback и путаные URL-вводы, гарантируют, что секреты не выводятся при проверке, и проверяют ожидаемый результат автономной модели.

Приоритеты устранения

  1. Отключите Admin File Manager или ограничьте его минимальным набором доверенных администраторов до тех пор, пока не будет развернуто проверенное исправление.
  2. Исправьте получение конфигурации, используя Configure::read().
  3. Канонизируйте как разрешенный корень, так и проверяемый каталог, затем выполните проверку на попадание с учетом разделителей.
  4. Отклоните разделители путей, нулевые байты и небезопасные имена в отправляемом имени файла.
  5. Предотвратите запись PHP в исходные коды приложения и исполняемые веб-каталоги.
  6. Проверьте журналы и места записи с помощью docs/detection.md.

Вспомогательный патч в patches/illustrative-hardening.patch и руководство контроллера в patches/create-file-hardening-example.md предназначены для ознакомления, а не являются официальными исправлениями от вендора. Протестируйте их на точной развернутой ветке.

Этическое использование

Используйте этот репозиторий только в системах, которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Не адаптируйте PoC для публичных целей, исполняемых нагрузок, постоянного присутствия, доступа к учетным данным или деструктивных действий. См. SECURITY.md и DISCLAIMER.md.

Лицензия

MIT. См. LICENSE.

Скачать инструмент
ПолеЗначение
ПродуктCroogo CMS, Admin File Manager
Затронутые версии по NVD4.0.0 – 4.0.7
СлабостьCWE-22, обход пути / неправильное ограничение пути
CVSS v3.1 от CNA NVD6.3 Средний
ПривилегииАутентифицированная учетная запись с возможностями FileManager
Взаимодействие с пользователемНет после аутентификации
Публичное раскрытиеСуществуют upstream issue и публичная информация об эксплойте
Исправленная версияНе найдена в указанном снимке консультации