CVE-2026-42792 in OTP
Сводка
по VulDB • 27.07.2026
Уязвимость в виде неправильной обработки исключительных условий (Improper Handling of Exceptional Conditions) в Erlang OTP erts (epmd) позволяет неавторизованному удалённому злоумышленнику навсегда завершить работу демона отображения портов Erlang (epmd) путём исчерпания слотов соединений.
Функция do_accept в файле erts/epmd/src/epmd_srv.c вызывает epmd_cleanup_exit(), когда accept(2) возвращает EMFILE (достигнут предел дескрипторов файлов на процесс) или ENFILE (системный предел дескрипторов файлов), вместо того чтобы рассматривать эти ситуации как восстанавливаемые. Злоумышленник может исчерпать слоты дескрипторов файлов epmd, удерживая открытыми множество TCP-соединений и периодически отправляя один байт для сброса таймаута неактивности, а затем вызывая возврат accept(2) со значением EMFILE, что приводит к завершению работы демона. В epmd отсутствует ограничение на количество соединений с одного IP-адреса (per-source-IP connection cap), что делает атаку возможной с одного источника.
При использовании стандартных пакетов в Debian/Ubuntu воздействие уязвимости усиливается: юнит systemd наследует низкий мягкий предел дескрипторов файлов, а повторяющиеся падения демона запускают ограничение частоты перезапусков (start-rate-limit) системы systemd, что приводит к постоянному отказу как epmd.service, так и epmd.socket, требуя ручного вмешательства оператора для восстановления работы.
Эта проблема затрагивает версии OTP начиная с 17.0 до версий перед 27.3.4.15, а также 28.5.0.4 и 29.0.4.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.