CVE-2026-42792

Improper Handling of Exceptional Conditions vulnerability in Erlang OTP erts (epmd) allows an unauthenticated remote attacker to permanently terminate the Erlang Port Mapper Daemon (epmd) via connection slot exhaustion. The do_accept function in erts/epmd/src/epmd_srv.c calls epmd_cleanup_exit() when accept(2) returns EMFILE (per-process file descriptor limit reached) or ENFILE (system-wide file descriptor limit reached), rather than treating these as recoverable conditions. An attacker can exhaust epmd's file descriptor slots by holding many TCP connections open while periodically sending a single byte to reset the idle timeout, then causing accept(2) to return EMFILE, which kills the daemon. epmd has no per-source-IP connection cap, making the attack feasible from a single source. On Debian/Ubuntu default packaging the impact is amplified: the systemd unit inherits a low file descriptor soft limit, and repeated daemon deaths trigger systemd's start-rate-limit, permanently failing both epmd.service and epmd.socket and requiring manual operator intervention to recover. This issue affects OTP from OTP 17.0 before OTP 29.0.4, OTP 28.5.0.4 and OTP 27.3.4.15.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*
cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*
cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*
cpe:2.3:a:erlang:erts:*:*:*:*:*:*:*:*
cpe:2.3:a:erlang:erts:*:*:*:*:*:*:*:*
cpe:2.3:a:erlang:erts:*:*:*:*:*:*:*:*

History

24 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) La “vulnerabilidad” de manejo inadecuado de condiciones excepcionales en Erlang OTP erts (epmd) permite a un “atacante” remoto no autenticado terminar permanentemente el demonio mapeador de “puertos” de Erlang (epmd) mediante el agotamiento de ranuras de conexión. La función do_accept en erts/epmd/src/epmd_srv.c llama a epmd_cleanup_exit() cuando accept(2) devuelve EMFILE (límite de descriptores de archivo por proceso alcanzado) o ENFILE (límite de descriptores de archivo a nivel de sistema alcanzado), en lugar de tratar estas como condiciones recuperables. Un “atacante” puede agotar las ranuras de descriptores de archivo de epmd manteniendo muchas conexiones TCP abiertas mientras envía periódicamente un solo byte para restablecer el tiempo de espera de inactividad, luego haciendo que accept(2) devuelva EMFILE, lo que mata al demonio. epmd no tiene un límite de conexión por IP de origen, lo que hace que el ataque sea factible desde una única fuente. En el empaquetado predeterminado de Debian/Ubuntu, el “impacto” se amplifica: la unidad systemd hereda un límite flexible bajo de descriptores de archivo, y las muertes repetidas del demonio activan el límite de tasa de inicio de systemd, fallando permanentemente tanto epmd.service como epmd.socket y requiriendo la intervención manual del operador para recuperarse. Este problema afecta a OTP desde OTP 17.0 antes de OTP 29.0.4, OTP 28.5.0.4 y OTP 27.3.4.15.

Information

Published : 2026-07-27 16:17

Updated : 2026-10-24 13:10


NVD link : CVE-2026-42792

Mitre link : CVE-2026-42792

CVE.ORG link : CVE-2026-42792


JSON object : View

Products Affected

erlang

  • erlang\/otp
  • erts
CWE
CWE-755

Improper Handling of Exceptional Conditions

CWE-770

Allocation of Resources Without Limits or Throttling