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

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

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

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

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

Категории

Все категории
Loading categories
checkmk_broccoli2shell — Расширение Checkmk, которое проверяет хосты Linux на наличие декодеров Brotli (libbrotlidec, Node.js, Python, .NET), затронутых CVE-2026-111497, проверяя версии, бэкпорты и устаревшие процессы. | Kitploit
Инструменты/GitLabGitLab/checkmk1/checkmk_broccoli2shell
Оборонительные ИнструментыСканеры уязвимостейАнализ уязвимостейАудит конфигурацииРеагирование на Инциденты
GitLabcheckmk1/checkmk_broccoli2shell

checkmk_broccoli2shell

Расширение Checkmk, которое проверяет хосты Linux на наличие декодеров Brotli (libbrotlidec, Node.js, Python, .NET), затронутых CVE-2026-111497, проверяя версии, бэкпорты и устаревшие процессы.

Популярное

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

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

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

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

Смотреть все инструменты →
Репозиторий
1019 ч 7 мин назадЕщё не проверено
Поделиться

checkmk_broccoli2shell

Расширение для Checkmk, которое показывает для каждого декодера Brotli на Linux-хосте, затронут ли он уязвимостью Broccoli2Shell — CVE-2026-111497, записью за границы буфера в C-декодере Brotli от Google, которая может привести к удалённому выполнению кода, когда программа распаковывает данные Brotli из недоверенного источника (HTTP-ответа, тела запроса, архива). Уязвимость была раскрыта 2026-10-21/22 и исправлена в Brotli 1.0.10, 1.1.1 и 1.2.1, Node.js 22.23.4, 24.22.1 и 26.12.1, Python-пакетах Brotli 1.2.1 и brotlicffi 1.2.1.0, а также в .NET 8.0.33, 9.0.22 и 10.0.14.

Расширение поставляется с небольшим агентом-плагином на POSIX shell, который только собирает факты (системная библиотека libbrotlidec, бинарники Node.js, установки Python Brotli и brotlicffi, среды выполнения .NET, их версии, журналы изменений пакетов, с чем они слинкованы, какие процессы их загрузили и какие всё ещё выполняют заменённую версию). Решение о том, означает ли это «исправлено» или «уязвимо», принимает check-плагин на сервере Checkmk, поэтому новая информация — например, ещё один исправленный релиз — требует лишь обновлённого .mkp, а не нового скрипта на каждом хосте.

Почему не просто сравнить номера версий: дистрибутивы переносят исправление, не меняя upstream-версию, и собирают Node.js против системной библиотеки вместо копии, встроенной в Node.js. Debian 12 поставляет libbrotli 1.0.9 и Node.js 18.20.4 (upstream end of life, без исправления) — оба исправлены, потому что обновлённый пакет libbrotli1 — это декодер, который использует Node.js. Поэтому расширение читает журнал изменений пакета, которому принадлежит каждый декодер, и прослеживает расширения Node.js и Python до библиотеки, с которой они слинкованы.

Требования

  • Checkmk >= 2.5.0 (с использованием текущего API плагинов cmk_addons.plugins).
  • Мониторируемые хосты: Linux с агентом Checkmk, запущенным от root (плагин читает бинарники и /proc/<pid>/maps всех процессов). Обычный POSIX sh с инструментами GNU или busybox; журналы изменений пакетов читаются через dpkg, rpm или apk. Протестировано на семействе Debian, семействе Red Hat, Amazon Linux и Alpine, см. ниже.
  • Развёртывание через Agent Bakery требует коммерческой редакции Checkmk (Pro, Ultimate или Ultimate с multi-tenancy). В редакции Community скопируйте агент-плагин на хосты вручную, см. Ручное развёртывание агент-плагина. Check-плагины, правила и сервисы работают одинаково в обоих случаях.

Протестировано с

Образ CheckmkДатаРезультат
checkmk/check-mk-ultimate:2.5.0p172026-10-28OK (сборка, cmk-validate-plugins, smoke-тест, установка + discovery + check + agent bake)
checkmk/check-mk-ultimate:3.0.0-2026.10.28 (daily)2026-10-28OK (сборка, cmk-validate-plugins, smoke-тест, установка + discovery + check + agent bake)

Агент-плагин был запущен против собственных пакетов дистрибутивов и официальных образов 2026-10-28 (scripts/test_agent_plugin.sh), с процессом node и процессом python, в которых был загружен декодер. После этого библиотека, бинарник node и модули расширения Python были заменены на диске, и обнаружение перезапуска сообщило о работающих процессах.

Дистрибутивы

ДистрибутивДекодерыРезультат плагина
Debian 12libbrotli 1.0.9-2+deb12u1, Node.js 18.20.4 (связан), python3-brotliисправлено бэкпортом (changelog), Node.js через библиотеку
Debian 13libbrotli 1.1.0-2+deb13u1, Node.js 20.19.2 (связан), python3-brotli, python3-brotlicffi (связан)исправлено бэкпортом, Node.js и brotlicffi через библиотеку
Ubuntu 24.04libbrotli 1.1.0-2ubuntu0.1, Node.js 18.19.1 (связан), python3-brotli, dotnet-runtime-8.0 8.0.32исправлено бэкпортом - .NET уязвим (8.0.33 ещё не в архиве)
AlmaLinux 8.10libbrotli 1.0.6-5.el8_10, Node.js 10.24.0 (собственный декодер), python3-brotliбиблиотека и Brotli исправлены бэкпортом - Node.js 10 уязвим (конец жизненного цикла, собственный декодер)
AlmaLinux 9.8libbrotli 1.0.9-10.el9_8.1, Node.js 16.20.2 (связан), python3-brotli, dotnet-runtime-8.0 8.0.32исправлено бэкпортом - .NET уязвим
AlmaLinux 10.2libbrotli 1.1.0-8.el10_2.1, Node.js 22.23.2 (связан), python3-brotliисправлено бэкпортом
Fedora 44libbrotli 1.2.1, Node.js 22.23.1 (связан), python3-brotli 1.2.1исправлено версией
Amazon Linux 2023libbrotli 1.1.0-1.amzn2023.0.1, Node.js 18.20.8 (связан)уязвим - исправленного пакета пока нет, Node.js через библиотеку
Alpine 3.22brotli-libs 1.1.1, Node.js 22.23.4 (связан), py3-brotli 1.1.1исправлено версией

Официальные образы и PyPI

ОбразДекодерыРезультат плагина
node:24.22.0-slimNode.js 24.22.0 (собственный декодер)уязвим
node:24.22.1-slimNode.js 24.22.1 (собственный декодер)исправлено версией
node:20-alpineNode.js 20.20.2 (собственный декодер)уязвим - конец жизненного цикла, исправления нет
node:24.22.0-slim, бинарник перемещён в /home/dev/.nvm/... (принадлежит пользователю)Node.js 24.22.0уязвим - версия читается из бинарника, а не запускается
python:3.12-slim + pip install Brotli==1.2.0 brotlicffi==1.2.0.0, venv с Brotli 1.1.0 в /srv/app/venvBrotli, brotlicffi (собственные декодеры)уязвим (venv обнаружен через его запущенный процесс)
python:3.12-slim + актуальный PyPIBrotli 1.2.1, brotlicffi 1.2.1.0исправлено версией
mcr.microsoft.com/dotnet/runtime:8.0.32 / :8.0.NET 8.0.32 / 8.0.33уязвим / исправлено версией

Сам сайт Checkmk (2.5.0p17) не поставляет пакет Brotli в своём Python. Плагин ещё не запускался на производственном хосте вне контейнеров - в частности, не с включённым режимом SELinux enforcing (семейство RHEL); обычно агент там работает в неограниченном домене.

Установка

  1. Скачайте .mkp из релиза (или соберите его самостоятельно, см. Разработка).

  2. Setup > Maintenance > Extension packages > Upload package, или в командной строке внутри сайта:

    mkp add broccoli2shell-<version>.mkp
    mkp enable broccoli2shell <version>
    
  3. Разверните плагин агента на хостах, которые вы хотите проверить:

    • Коммерческая версия: Setup > Agents > Windows, Linux, Solaris, AIX > Agent rules, раздел Agent plug-ins, правило Broccoli2Shell agent plug-in. Создайте правило для целевых хостов, затем выполните bake и обновление агентов. Плагин всегда работает асинхронно; интервал по умолчанию — один час.
    • Community-версия / вручную: см. ниже.
  4. Запустите обнаружение сервисов на хостах. Каждый декодер получает собственный сервис, плюс один сервис Broccoli2Shell restart на каждый хост.

  5. Опционально: настройте состояния в Setup > Services > Service monitoring rules > Broccoli2Shell (CVE-2026-111497) и Broccoli2Shell restart.

Ручное развёртывание плагина агента (Community-версия)

Скопируйте package/agents/plugins/broccoli2shell в подкаталог cache-interval каталога плагинов агента и сделайте его исполняемым:

install -m 755 broccoli2shell /usr/lib/check_mk_agent/plugins/3600/broccoli2shell

Каталог 3600 заставляет агента запускать его в фоновом режиме раз в час и отдавать кэшированный результат в промежутках. Не помещайте его напрямую в plugins/: он читает крупные бинарные файлы и карту памяти каждого процесса, что слишком много для каждого запроса агента.

Что он отслеживает

Скачать инструмент