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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-44848-PoC — PoC для CVE-2026-44848: отсутствие авторизации в Portainer на эндпоинтах плагинов Docker -> RCE на хосте (GHSA-rrmm-9v76-h3p4). Только стандартная библиотека Python. | Kitploit
Инструменты/GitHubGitHub/boreas37/cve-2026-44848-poc
Аутентификация и авторизацияБезопасность контейнеровАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование безопасности API
GitHubboreas37/cve-2026-44848-poc

CVE-2026-44848-PoC

PoC для CVE-2026-44848: отсутствие авторизации в Portainer на эндпоинтах плагинов Docker -> RCE на хосте (GHSA-rrmm-9v76-h3p4). Только стандартная библиотека Python.

Репозиторий
1822 дней назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-44848 — Portainer: отсутствие авторизации в эндпоинтах плагинов Docker → RCE на хосте

Proof-of-concept для CVE-2026-44848, уязвимости отсутствия аутентификации (CWE-862) в Portainer, которая позволяет не-администратору с доступом к эндпоинту Docker выполнять привилегированные операции с плагинами Docker → полный RCE на хосте.

Уведомление GitHub о безопасности: GHSA-rrmm-9v76-h3p4 · CVSS 9.4 (критический).

Первопричина

Portainer обеспечивает контроль доступа на основе ролей (RBAC) поверх Docker API, проксируя запросы через обработчики для каждого ресурса, которые применяют проверки авторизации. Для эндпоинтов управления плагинами Docker (/plugins/*) не был зарегистрирован обработчик, поэтому уровень авторизации для них никогда не выполняется. В результате обычный пользователь (роль 2) — или любая роль, которой предоставлен доступ на уровне эндпоинта, — может вызывать привилегированные операции с плагинами напрямую против нижележащего демона Docker:

  • POST /plugins/pull — загрузить произвольный плагин из любого реестра
  • плагин запрашивает привилегии, включая CAP_SYS_ADMIN и монтирование путей хоста
  • POST /plugins/{name}/enable — Docker запускает плагин как root на хосте с этими capabilities → полный доступ к файловой системе хоста, что эквивалентно root на хосте Docker

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

  • >= 2.33.0, < 2.33.8
  • >= 2.39.0, < 2.39.2
  • >= 2.40.0, < 2.41.0

Что демонстрирует PoC

Основной, безопасно воспроизводимый примитив ошибки: обычный (не-администратор) пользователь может обратиться к привилегированному Docker API /plugins/* через прокси Portainer без авторизации. Это демонстрируется сквозным образом против реального уязвимого экземпляра Portainer:

  1. Инициализирует администратора через POST /api/users/admin/init (обрабатывает 409 и переходит ко входу в систему).
  2. Создаёт обычного пользователя (bob, роль 2), обрабатывая 409 сбросом его пароля.
  3. Выводит список эндпоинтов Docker (автоматически создаёт эндпоинт локального сокета через multipart POST /api/endpoints, если таковых нет) и предоставляет bob доступ через PUT /api/endpoints/{id} UserAccessPolicies.
  4. Выполняет вход как bob (не-администратор) и вызывает GET /api/endpoints/1/docker/plugins с токеном bob.
  5. HTTP 200 → обычный пользователь достиг привилегированного эндпоинта → обход авторизации подтверждён.

Использование

root@kitploit:~
# Defaults: https://localhost:9444, random admin password
python3 portainer_plugin_poc.py

# Explicit target + admin password + command
python3 portainer_plugin_poc.py --url https://localhost:9444 --admin-pass 'P@ssw0rd!' --command "id; hostname"

# Write a JSON summary
python3 portainer_plugin_poc.py --url https://localhost:9444 --output out.json

python3 portainer_plugin_poc.py --help

Требуется только стандартная библиотека Python 3. Проверка TLS отключена (самоподписанные лабораторные сертификаты).

Лаборатория (воспроизведение)

root@kitploit:~
docker run -d --name portainer-lab-cve44848 \
  -p 127.0.0.1:9444:9443 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  portainer/portainer-ce:2.39.1   # vulnerable

Подтверждённый вывод

root@kitploit:~
AUTH-BYPASS CONFIRMED: standard user reached /plugins (HTTP 200)
=> PASS (missing auth / host-RCE primitive confirmed)

Ссылки

  • GHSA-rrmm-9v76-h3p4
  • CVE-2026-44848 (NVD/cvefeed)

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

Только для авторизованных исследований и тестирования безопасности. Активирующий шаг (POST /plugins/*) может предоставить root на хосте; данный PoC останавливается на демонстрации обхода авторизации и не активирует деструктивный/вредоносный плагин. Используйте только против систем, которыми вы владеете или которые вам разрешено тестировать.

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