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

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

Популярное

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

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

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

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

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

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

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

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

ВерсияСтатусЕсть ошибкаЗапись сломана
v1.8.1УЯЗВИМАДаДа
v1.8.2УЯЗВИМАДаДа
v1.8.3ИСПРАВЛЕНОДаНет
v1.9.0УЯЗВИМАДаДа
v1.9.1ИСПРАВЛЕНОДаНет
v1.9.2УЯЗВИМАДаДа
v1.9.3ИСПРАВЛЕНОДаНет

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

Уязвимость возникает, когда 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
Скачать инструмент