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

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

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

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

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

Категории

Все категории
Loading categories
logrus-dos-poc — CVE-2025-65637: Уязвимость типа «отказ в обслуживании» в Logrus | Kitploit
Инструменты/GitHubGitHub/mjuanxd/logrus-dos-poc
Анализ уязвимостейАнализ КодаЭксплуатацияСтатьи и ИсследованияОбучение и Образование
GitHubmjuanxd/logrus-dos-poc

logrus-dos-poc

CVE-2025-65637: Уязвимость типа «отказ в обслуживании» в Logrus

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

Популярное

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

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

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

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

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

CVE-2025-65637: Уязвимость типа «Отказ в обслуживании» в Logrus

Данный каталог содержит PoC-код и тестовые скрипты для уязвимости типа «Отказ в обслуживании» (DoS) в github.com/sirupsen/logrus, зарегистрированной как CVE-2025-65637.

Сводка по уязвимости

CVE ID: CVE-2025-65637

CWE: CWE-400 (Неконтролируемое потребление ресурсов)

CVSS: 7.5 (Высокая)

Обнаружили: Christopher Straight, Juan Pablo Mandelbaum

Описание

Уязвимость типа «отказ в обслуживании» существует в github.com/sirupsen/logrus при использовании Entry.Writer() для записи одной строки полезной нагрузкой более 64 КБ без символов новой строки.

Из-за ограничений внутреннего bufio.Scanner чтение завершается ошибкой «token too long», а канал записи закрывается, что делает Writer() непригодным для использования и приводит к недоступности приложения (DoS).

Затрагиваются версии < 1.8.3, 1.9.0 и 1.9.2. Проблема исправлена в версиях 1.8.3, 1.9.1 и 1.9.3+, где входные данные разбиваются на фрагменты, и запись продолжает работать даже при возникновении ошибки.

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

  • < v1.8.3 (включая v1.8.1, v1.8.2)

  • v1.9.0

  • v1.9.2

Исправленные версии:

  • v1.8.3

  • v1.9.1

  • v1.9.3+

Файлы

  • poc_logrus_dos_improved.go — Автономный PoC, демонстрирующий уязвимость

  • poc_logrus_dos.go — Упрощённая версия PoC

  • test_versions.ps1 — PowerShell-скрипт для тестирования нескольких версий

  • test_versions.sh — Bash-скрипт для тестирования нескольких версий

  • test_single_version.ps1 — Быстрый тест для одной версии

Быстрый старт

Тестирование одной версии

root@kitploit:~
# PowerShell
.\test_single_version.ps1 v1.8.1

Тестирование всех версий

root@kitploit:~
# PowerShell
.\test_versions.ps1
root@kitploit:~
# Bash/Linux
chmod +x test_versions.sh
./test_versions.sh

Ручной PoC

root@kitploit:~
go mod init poclogrus
go get github.com/sirupsen/[email protected]
go run poc_logrus_dos_improved.go

Результаты тестирования

Комплексное тестирование подтверждает:

Как это работает

Уязвимость возникает, когда logrus.Writer() получает одну строку размером более 64 КБ без символов новой строки. Это может произойти, если приложение передаёт данные, контролируемые пользователем (например, HTTP-заголовки вроде User-Agent или stdout/stderr подпроцесса), в logrus.Writer().

Уязвимые версии: внутренний сканер выходит из строя, канал разрывается, и приложение теряет возможность логирования или аварийно завершается (DoS).

Исправленные версии: ошибка логируется, но Writer продолжает нормально функционировать, предотвращая DoS.

Ссылки

  • CVE: CVE-2025-65637
  • GitHub Issue: https://github.com/sirupsen/logrus/issues/1370
  • GitHub PR: https://github.com/sirupsen/logrus/pull/1376
  • Snyk Advisory: https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMSIRUPSENLOGRUS-5564391
Скачать инструмент
ВерсияСтатусЕсть ошибкаЗапись сломана
v1.8.1УЯЗВИМАДаДа
v1.8.2УЯЗВИМАДаДа
v1.8.3ИСПРАВЛЕНОДаНет
v1.9.0УЯЗВИМАДаДа
v1.9.1ИСПРАВЛЕНОДаНет
v1.9.2УЯЗВИМАДаДа
v1.9.3ИСПРАВЛЕНОДаНет