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

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

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

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

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

Категории

Все категории
Loading categories
POC_CVE-2024-12537 — Локальная изолированная лаборатория и шаблон nuclei для CVE-2024-12537 — неаутентифицированной уязвимости типа «отказ в обслуживании» в конечной точке форматирования кода Open WebUI. Проверяет логику обнаружения на уязвимых и исправленных версиях. | Kitploit
Инструменты/GitHubGitHub/fineman999/poc_cve-2024-12537
Анализ уязвимостейЭксплуатацияВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubfineman999/poc_cve-2024-12537

POC_CVE-2024-12537

Локальная изолированная лаборатория и шаблон nuclei для CVE-2024-12537 — неаутентифицированной уязвимости типа «отказ в обслуживании» в конечной точке форматирования кода Open WebUI. Проверяет логику обнаружения на уязвимых и исправленных версиях.

Репозиторий
13 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2024-12537 Лаборатория DoS-уязвимости Code Format в Open WebUI

Этот репозиторий содержит локальную изолированную лабораторию для воспроизведения уязвимости и кандидат шаблона nuclei для CVE-2024-12537 — неаутентифицированной уязвимости типа «отказ в обслуживании» в конечной точке форматирования кода Open WebUI.

Лаборатория не отправляет крупные DoS-нагрузки. Она проверяет логику обнаружения nuclei через неаутентифицированную конечную точку идентификации /api/version и минимальный запрос {"code":"x"} к /api/v1/utils/code/format, после чего сравнивает уязвимую версию с исправленной/более новой версией.

Сводка

  • Продукт: open-webui/open-webui
  • Уязвимость: неаутентифицированное неконтролируемое потребление ресурсов / отказ в обслуживании
  • CVE: CVE-2024-12537
  • GHSA: GHSA-chf7-q7m5-fq92
  • Затронутая конечная точка: POST /api/v1/utils/code/format
  • Конечная точка идентификации, используемая в этой лаборатории: GET /api/version
  • Проверенная уязвимая версия: v0.5.10
  • Проверенная исправленная/более новая версия: v0.6.14
  • Используемый здесь порог nuclei: < 0.5.14 для неаутентифицированной модели угроз
  • Ссылки:

    • https://nvd.nist.gov/vuln/detail/CVE-2024-12537
    • https://github.com/advisories/GHSA-chf7-q7m5-fq92
    • https://huntr.com/bounties/edabd06c-acc0-428c-a481-271f333755bc

    Файлы

    • docker-compose.yml: запускает Open WebUI с выбираемым Docker-тегом
    • verify-cve-2024-12537.sh: ожидает готовности, выводит /api/version и запускает nuclei при наличии
    • nuclei/CVE-2024-12537.yaml: кандидат шаблона nuclei

    Требования

    • Docker Engine или Docker Desktop
    • curl
    • Необязательно: nuclei

    Запускайте это только в локальной изолированной лаборатории. Не используйте эти команды против сторонних систем. Применяйте их только к системам, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение.

    Воспроизведение обнаружения уязвимой версии

    Запустите Open WebUI v0.5.10:

    root@kitploit:~
    WEBUI_TAG=v0.5.10 docker compose up -d
    

    Запустите проверочный скрипт:

    root@kitploit:~
    sh verify-cve-2024-12537.sh
    

    Наблюдаемый ответ уязвимой версии:

    root@kitploit:~
    HTTP/1.1 200 OK
    content-type: application/json
    
    {"version":"0.5.10"}
    

    Наблюдаемый вывод nuclei для уязвимой версии:

    root@kitploit:~
    [CVE-2024-12537:dsl-1] [http] [high] http://127.0.0.1:3010/api/v1/utils/code/format ["0.5.10"]
    

    Очистка:

    root@kitploit:~
    docker compose down -v
    

    Воспроизведение контрольного сценария с исправленной/более новой версией

    Запустите Open WebUI v0.6.14:

    root@kitploit:~
    WEBUI_TAG=v0.6.14 docker compose up -d
    

    Запустите проверочный скрипт:

    root@kitploit:~
    sh verify-cve-2024-12537.sh
    

    Наблюдаемый ответ исправленной/более новой версии:

    root@kitploit:~
    HTTP/1.1 200 OK
    content-type: application/json
    
    {"version":"0.6.14"}
    

    Наблюдаемый вывод nuclei для исправленной/более новой версии:

    root@kitploit:~
    No results found
    

    Очистка:

    root@kitploit:~
    docker compose down -v
    

    Nuclei

    Проверьте шаблон:

    root@kitploit:~
    nuclei -validate -t nuclei/CVE-2024-12537.yaml
    

    Запустите против локальной лаборатории:

    root@kitploit:~
    nuclei -silent \
      -t nuclei/CVE-2024-12537.yaml \
      -include-templates nuclei/CVE-2024-12537.yaml \
      -u http://127.0.0.1:3010
    

    Ожидаемое поведение:

    • v0.5.10: совпадение
    • v0.6.14: без совпадения

    Примечания

    • Шаблон намеренно не отправляет большое тело запроса к /api/v1/utils/code/format.
    • Проверка конечной точки использует только {"code":"x"}, который возвращал {"code":"x\n"} на Docker v0.5.10 и {"detail":"Not authenticated"} на Docker v0.6.14.
    • Пример команды nuclei включает -include-templates, поскольку шаблоны с тегом dos могут исключаться по умолчанию.
    • Некоторые версии Open WebUI кратковременно возвращают curl: (52) Empty reply from server, пока приложение ещё запускается. Проверочный скрипт ожидает ответа от /api/version.
    • В docker-compose.yml заданы RAG_EMBEDDING_MODEL="" и RAG_EMBEDDING_MODEL_AUTO_UPDATE=False, чтобы лаборатория не блокировалась на инициализации эмбеддинг-модели.
    • GitHub Advisory в настоящее время указывает затронутые версии пакета как <= 0.3.32; в этой лаборатории используется порог неаутентифицированного кодового пути < 0.5.14, определённый путём анализа коммитов. Соответствующая последовательность коммитов: d3d161f72 (без аутентификации, v0.5.0-v0.5.13), 2f75eef49 (добавляет get_verified_user, v0.5.14+), и 4fe45d443 (ужесточает защиту до get_admin_user, v0.6.14+).
    • Реальные цели не использовались.
    Скачать инструмент