CVE-2026-78002 в Debian: heap overflow в rsyslog, уязвимые версии и защита

CVE: CVE-2026-78002
Продукт: Debian
Дата публикации: 27.08.2026
Критичность: HIGH
CVSS: 7.5 (3.1)
EPSS: 0,61%; процентиль 46,89%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В rsyslog обнаружена уязвимость, позволяющая удаленному атакующему вызвать переполнение буфера в памяти через специально сформированные syslog-сообщения. В Debian проблема затрагивает несколько релизов, где исправление еще не выпущено. Статья описывает механику атаки, статус патчей и способы проверки системы.

Основные характеристики​


Уязвимость позволяет нарушителю удаленно и без аутентификации нарушить работоспособность сервиса rsyslog, что приводит к отказу в обслуживании (DoS). Риск связан с некорректным вычислением размера буфера при обработке строк в скриптовом языке RainerScript.

  • Тип ошибки: CWE-131 (Heap-based Buffer Overflow). Ошибка возникает при записи данных за пределы выделенной области памяти.
  • CVSS: 7.5 (HIGH). Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H. Высокая оценка обусловлена удаленным доступом и отсутствием требований к правам.
  • Условия атаки: Атакующему не нужны учетные данные, интерфейс пользователя или сложная подготовка. Достаточно отправить вредоносный пакет на порт syslog.
  • Эксплуатация: В каталоге CISA KEV уязвимость не числится. Публичные эксплойты в виде готовых инструментов не подтверждены, но техническое описание доступно.
  • EPSS: 0,61%. Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая, что соответствует процентилю 46,89%.

Какие продукты и версии затронуты​


В дистрибутиве Debian уязвимость затрагивает пакет rsyslog. Статус исправления различается в зависимости от версии системы. Для большинства стабильных и тестовых веток патч пока не выпущен, что требует внимания администраторов.

  • Debian 12 (bookworm): Статус «open». Установленная версия 8.2302.0-1+deb12u1 уязвима. Исправление ожидается.
  • Debian 11 (bullseye): Статус «open». Версии 8.2102.0-2+deb11u1 в репозиториях bullseye и bullseye-security уязвимы.
  • Debian 13 (trixie): Статус «open». Версия 8.2504.0-1 уязвима. Патч не выпущен.
  • Debian (forky): Статус «open». Версия 8.2606.0-4 уязвима. Исправление ожидается.
  • Debian (sid/unstable): Статус «resolved». Уязвимость устранена в версии 8.2608.0-4.

Причина уязвимости​


Причина уязвимости кроется в функции replace() языка RainerScript, используемого для обработки логов в rsyslog. При выполнении операции замены подстроки программа некорректно вычисляет размер целевого буфера в куче (heap).

В результате, если входные данные имеют определенную структуру, запись происходит за пределы выделенной памяти. Это приводит к повреждению соседних структур данных и последующему аварийному завершению процесса rsyslog. Ошибка классифицируется как CWE-131 (Heap-based Buffer Overflow).

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


Атакующий взаимодействует с системой удаленно, отправляя специально сформированные syslog-сообщения. rsyslog принимает эти сообщения и передает их на обработку в RainerScript, где вызывается функция replace().

Из-за ошибки в расчете размера буфера, при обработке вредоносной строки происходит переполнение памяти. Это вызывает сбой в работе сервиса.

Поскольку rsyslog часто работает как критический компонент для сбора логов, его остановка может нарушить мониторинг и аудит безопасности системы. Аутентификация не требуется, так как протокол syslog по умолчанию не проверяет личность отправителя.

Условия успешной эксплуатации​


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

  • Сетевой доступ: Атакующий должен иметь возможность отправлять UDP- или TCP-пакеты на порт, на котором слушает rsyslog (по умолчанию 514).
  • Отсутствие фильтрации: Если на периметре сети или на самом хосте не настроены фильтры, ограничивающие источники syslog-сообщений, атакующий может свободно отправлять вредоносные данные.
  • Активность RainerScript: В конфигурации rsyslog должен быть включен модуль RainerScript и использоваться функция replace() для обработки входящих сообщений. Если функция не вызывается, уязвимость не эксплуатируется.

Возможный сценарий атаки​


Атакующий сканирует сеть в поисках открытых портов 514/udp или 514/tcp. Обнаружив хост с rsyslog, он формирует пакет syslog, содержащий строку, специально рассчитанную для переполнения буфера в функции replace().

После отправки пакета rsyslog пытается обработать сообщение. Происходит повреждение памяти, и процесс аварийно завершается.

В результате сервис перестает принимать и записывать логи. Атакующий может повторять отправку пакетов, поддерживая состояние отказа в обслуживании. Это мешает администраторам отслеживать события безопасности и может скрыть другие атаки.

Есть ли публичный эксплойт​


На момент публикации CVE-2026-78002 в каталоге CISA KEV уязвимость не числится. Это означает, что нет подтверждений о массовом использовании в целевых атаках.

Публичные эксплойты в виде готовых скриптов или инструментов для автоматической атаки в открытых источниках не обнаружены. Однако техническое описание уязвимости и детали переполнения буфера доступны в баг-трекерах и рассылках безопасности. Это позволяет исследователям и атакующим разработать собственный PoC на основе описания механики.

Признаки эксплуатации​


Специфических индикаторов компрометации (IOC), уникальных для этой уязвимости, в открытых источниках не опубликовано. Однако можно использовать общие признаки отказа в обслуживании rsyslog.

  • Аварийное завершение процесса: В системных журналах (например, /var/log/syslog или journalctl) могут появляться записи о падении процесса rsyslog с кодом сегментации (segfault) или другими ошибками памяти.
  • Прерывание записи логов: Внезапное прекращение записи логов в файлы, управляемые rsyslog, без видимых причин с стороны администратора.
  • Аномальный трафик: Резкий всплеск входящего трафика на порт 514/udp или 514/tcp с неизвестных IP-адресов, особенно если трафик имеет малый объем, но высокую частоту.

Как обнаружить атаку​


Для обнаружения атаки или последствий уязвимости рекомендуется настроить мониторинг состояния сервиса rsyslog и анализ сетевого трафика.

  • Мониторинг процесса: Используйте инструменты вроде systemd или monit для отслеживания состояния процесса rsyslog. Настройте алерты на аварийное завершение процесса.
  • Анализ журналов: Регулярно проверяйте системные журналы на наличие ошибок, связанных с памятью или аварийным завершением rsyslog. Ищите записи с ключевыми словами segfault, core dump или memory corruption.
  • Сетевой мониторинг: Настройте IDS/IPS для отслеживания аномального трафика на порт 514. Ищите пакеты с необычной длиной или структурой, которые могут указывать на попытку переполнения буфера.

Как проверить свою версию​


Для проверки, установлена ли уязвимая версия rsyslog в вашей системе Debian, выполните следующие команды. Замените <имя-пакета> на rsyslog.

Bash:
cat /etc/debian_version
cat /etc/os-release
apt-cache policy rsyslog
dpkg-query -W -f='${Package} ${Version}\n' rsyslog

Сравните полученную версию с списком уязвимых версий в разделе «Какие продукты и версии затронуты». Если версия совпадает с одной из перечисленных, система уязвима.

Исправление​


Основным способом устранения уязвимости является обновление пакета rsyslog до исправленной версии. Для большинства релизов Debian патч еще не выпущен, поэтому необходимо следить за обновлениями в репозиториях безопасности.

  • Debian (sid/unstable): Уязвимость устранена в версии 8.2608.0-4. Обновите пакет с помощью apt update && apt upgrade rsyslog.
  • Debian 12 (bookworm), 11 (bullseye), 13 (trixie), forky: Исправление ожидается. До выхода патча используйте временные меры защиты. Подписывайтесь на рассылку Debian Security для получения уведомлений о выходе обновлений.

После обновления убедитесь, что сервис rsyslog перезапущен и работает корректно.

Временные меры защиты​


До выхода официального патча для вашего релиза Debian можно применить следующие временные меры для снижения риска.

  • Ограничение доступа к порту 514: Настройте firewall (например, ufw или iptables), чтобы принимать syslog-сообщения только от доверенных хостов. Заблокируйте доступ из интернета, если удаленный сбор логов не требуется.
  • Отключение RainerScript: Если функция replace() не используется в вашей конфигурации, убедитесь, что модуль RainerScript не обрабатывает входящие сообщения. Это снизит поверхность атаки.
  • Использование TLS: Если возможно, настройте передачу syslog-сообщений по TLS (например, через systemd-journald или rsyslog с поддержкой TLS). Это не устраняет уязвимость, но усложняет атакующему отправку вредоносных пакетов без аутентификации.

Как проверить устранение уязвимости​


После обновления пакета rsyslog необходимо убедиться, что уязвимость устранена. Выполните следующие шаги.

  • Проверка версии: Убедитесь, что установленная версия rsyslog соответствует исправленной версии для вашего релиза. Используйте команду dpkg-query -W -f='${Package} ${Version}\n' rsyslog.
  • Тестирование: Отправьте тестовые syslog-сообщения на хост и убедитесь, что rsyslog обрабатывает их без аварийного завершения. Проверьте журналы на наличие ошибок.
  • Мониторинг: В течение нескольких дней после обновления наблюдайте за стабильностью работы rsyslog. Убедитесь, что процесс не завершается аварийно и логи записываются корректно.

Вывод​


CVE-2026-78002 представляет собой серьезную угрозу для систем Debian, где rsyslog принимает удаленные syslog-сообщения. Уязвимость позволяет нарушителю вызвать отказ в обслуживании без аутентификации.

Для релизов, где патч еще не выпущен, критически важно ограничить сетевой доступ к порту 514 и следить за обновлениями безопасности.

Администраторам рекомендуется проверить версию установленного пакета и применить временные меры защиты до выхода официального исправления.

Официальные источники​


  1. NVD — CVE-2026-78002
  2. Debian Security Tracker — CVE-2026-78002
  3. FIRST EPSS — CVE-2026-78002

История обновлений статьи​


  • 01.09.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ