CVE-2026-93012 в Debian: произвольное выполнение команд через libemail-sender-perl и проверка версий

CVE: CVE-2026-93012
Продукт: Debian
Дата публикации: 21.09.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,22%; процентиль 13,02%
CISA KEV: нет подтверждения в каталоге CISA KEV

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


Уязвимость CVE-2026-93012 затрагивает Email::Sender::Transport::Sendmail версии ниже 2.602 для Perl. На MSWin32 envelope sender и все получатели попадают в одну строку команды, которую open() передаёт оболочке. В Debian статус уязвимости для всех указанных релизов отмечен как resolved, а версии исправления указаны в Debian Security Tracker.

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


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

  • Тип ошибки: CWE-78 — command injection
  • CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, 9.8 CRITICAL
  • Условие эксплойта: контроль над адресом в заголовках To, Cc или From при отправке через уязвимый транспорт sendmail на MSWin32
  • Факт эксплуатации: не подтверждён доступными источниками
  • EPSS: 0,22% (процентиль 13,02%)

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


В Debian Security Tracker для CVE-2026-93012 указан один пакет: libemail-sender-perl. Все четыре релиза Debian имеют статус resolved.

  • bookworm: исправление в версии 2.600-1
  • forky: исправление в версии 2.601-1
  • sid: исправление в версии 2.601-1
  • trixie: исправление в версии 2.601-1

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


В Email::Sender::Transport::Sendmail на MSWin32 envelope sender и все получатели собираются в одну строку команды, которую open() передаёт оболочке.

На остальных платформах используется list form, который запускает sendmail напрямую без участия оболочки. Это различие в механизме вызова создаёт условие для произвольного выполнения команд: если адрес содержит символы, интерпретируемые оболочкой, они попадают в команду.

Когда вызывающий код не передаёт envelope явно, Email::Sender::Simple берёт получателей из заголовков To и Cc, а отправителя из заголовка From. Контроль над этими заголовками даёт доступ к строке команды.

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


Атака строится на том, что адрес в заголовках письма становится частью команды, передаваемой оболочке.

На MSWin32 envelope sender и каждый recipient добавляются в одну строку. open() передаёт эту строку shell-интерпретатору. Если адрес содержит последовательности, которые оболочка выполняет как команды, они запускаются от имени процесса, отправляющего письмо.

В Debian пакет libemail-sender-perl распространяется как часть системы Perl. Уязвимость проявляется только при работе на MSWin32, потому что на других платформах используется list form и sendmail вызывается напрямую.

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


Для успешной эксплуатации необходимы следующие условия:

  • система работает на Windows (MSWin32)
  • установлен пакет libemail-sender-perl версии ниже исправленной
  • процесс отправляет письмо через Email::Sender::Transport::Sendmail
  • атакующий контролирует адрес в заголовках To, Cc или From письма
  • оболочка интерпретирует строку команды и выполняет вложенные последовательности

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


Сценарий предполагает отправку письма через Perl-приложение, использующее Email::Sender.

Атакующий формирует адрес в заголовке To или Cc так, чтобы он содержал последовательность, которая при попадании в строку команды на MSWin32 запускает произвольную команду. При отправке письма open() передаёт собранную строку оболочке, и команда выполняется от имени процесса.

Если envelope не указан явно, Email::Sender::Simple подставит адреса из заголовков To, Cc и From. Это расширяет поверхность атаки: достаточно контролировать один из этих заголовков.

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


В предоставленных источниках нет отдельного раздела с публичным эксплойтом, PoC или подтверждённой эксплуатацией.

Доступны ссылки на патч в репозитории Email-Sender и changelog версии 2.602, а также сообщение в списке oss-security. Эти материалы описывают исправление и механику ошибки, но не содержат готового эксплойта или подтверждённого сценария атаки.

Отсутствие сведений об эксплуатации не означает, что она невозможна. Механика позволяет контролировать адрес в заголовках письма, что при наличии уязвимой версии на MSWin32 ведёт к выполнению команд.

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


Специфичных IOC для CVE-2026-93012 в предоставленных источниках нет.

Неспецифичные точки контроля:

  • незапланированные процессы, запущенные из Perl-скриптов или почтовых агентов
  • аномальные вызовы оболочки из процессов, отправляющих почту
  • неожиданные изменения файлов, созданных процессом отправки писем
  • исходящие соединения из процесса, работающего под пользователем почтового сервера

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


Для обнаружения атаки можно использовать следующие методы:

  • мониторинг вызовов open() и system() в Perl-приложениях, работающих с почтой
  • анализ логов почтовых агентов на аномальные адреса в заголовках To, Cc и From
  • проверка процессов, запущенных из Perl-скриптов, на наличие неожиданных команд
  • аудит прав доступа к файлам, создаваемым процессами отправки почты

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


Для проверки версии пакета libemail-sender-perl в Debian используйте следующие команды:

Bash:
cat /etc/debian_version

Bash:
cat /etc/os-release

Bash:
apt-cache policy <имя-пакета>

Замените <имя-пакета> на libemail-sender-perl.

Bash:
dpkg-query -W -f='${Package} ${Version}\n' <имя-пакета>

Замените <имя-пакета> на libemail-sender-perl. Команда покажет установленную версию пакета и позволит сравнить её с исправленной версией из Debian Security Tracker.

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


Исправление доступно для всех релизов Debian. Обновите пакет libemail-sender-perl до версии, указанной в Debian Security Tracker.

  • bookworm: обновите до 2.600-1
  • forky: обновите до 2.601-1
  • sid: обновите до 2.601-1
  • trixie: обновите до 2.601-1

Команда обновления:

Bash:
apt-get update && apt-get upgrade libemail-sender-perl

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

Дополнительная ссылка на статус уязвимости: Debian Security Tracker.

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


Пока обновление не выполнено, можно применить следующие временные меры:

  • ограничить отправку писем только доверенными процессами
  • проверить заголовки To, Cc и From на наличие аномальных адресов перед отправкой
  • использовать list form вместо строковой команды, если это возможно в конфигурации приложения
  • изолировать процессы отправки почты от критичных систем

Эти меры снижают вероятность эксплуатации, но не устраняют саму уязвимость. Основной способ защиты — обновление пакета до исправленной версии.

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


После обновления проверьте версию пакета и статус уязвимости.

Bash:
dpkg-query -W -f='${Package} ${Version}\n' libemail-sender-perl

Сравните полученную версию с исправленной из Debian Security Tracker. Если версия соответствует, уязвимость устранена.

Также можно проверить статус в Debian Security Tracker: CVE-2026-93012.

Вывод​


CVE-2026-93012 — критическая уязвимость в libemail-sender-perl, связанная с выполнением команд через адрес в заголовках письма на MSWin32. В Debian все релизы отмечены как resolved, и исправление доступно для bookworm, forky, sid и trixie.

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

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


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

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


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