CVE-2026-42792: CWE-755 Improper Handling of Exceptional Conditions in Erlang OTP
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.
AI Analysis
Technical Summary
The vulnerability arises because the epmd daemon's do_accept function treats accept(2) errors EMFILE and ENFILE (file descriptor limits reached) as fatal, calling epmd_cleanup_exit() and terminating the daemon instead of recovering. An attacker can hold many TCP connections open and periodically send a byte to reset idle timers, exhausting epmd's file descriptor slots. Without per-source-IP connection limits, this attack is feasible from a single source. On Debian/Ubuntu, systemd's inherited low file descriptor soft limit and start-rate-limit amplify the impact, causing permanent failure of epmd.service and epmd.socket until manual intervention. Affected Erlang OTP versions include all from 17.0 before OTP 29.0.4, 28.5.0.4, and 27.3.4.15.
Potential Impact
An unauthenticated remote attacker can cause a denial of service by permanently terminating the Erlang Port Mapper Daemon (epmd) through connection slot exhaustion. This disrupts the epmd service, which is critical for node discovery in Erlang systems. On systems using systemd with default low file descriptor limits, repeated daemon crashes trigger start-rate-limiting, causing epmd.service and epmd.socket to fail permanently, requiring manual operator intervention to restore service.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, operators should consider increasing file descriptor limits for epmd and implementing external connection rate limiting or firewall rules to limit the number of simultaneous connections to epmd. Manual intervention may be required to recover epmd.service and epmd.socket if they have failed due to systemd start-rate-limiting.
CVE-2026-42792: CWE-755 Improper Handling of Exceptional Conditions in Erlang OTP
Description
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.
CVSS v4.0
Score 6.3medium
Affected software
Erlang
OTP
Erlang
OTP
cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability arises because the epmd daemon's do_accept function treats accept(2) errors EMFILE and ENFILE (file descriptor limits reached) as fatal, calling epmd_cleanup_exit() and terminating the daemon instead of recovering. An attacker can hold many TCP connections open and periodically send a byte to reset idle timers, exhausting epmd's file descriptor slots. Without per-source-IP connection limits, this attack is feasible from a single source. On Debian/Ubuntu, systemd's inherited low file descriptor soft limit and start-rate-limit amplify the impact, causing permanent failure of epmd.service and epmd.socket until manual intervention. Affected Erlang OTP versions include all from 17.0 before OTP 29.0.4, 28.5.0.4, and 27.3.4.15.
Potential Impact
An unauthenticated remote attacker can cause a denial of service by permanently terminating the Erlang Port Mapper Daemon (epmd) through connection slot exhaustion. This disrupts the epmd service, which is critical for node discovery in Erlang systems. On systems using systemd with default low file descriptor limits, repeated daemon crashes trigger start-rate-limiting, causing epmd.service and epmd.socket to fail permanently, requiring manual operator intervention to restore service.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, operators should consider increasing file descriptor limits for epmd and implementing external connection rate limiting or firewall rules to limit the number of simultaneous connections to epmd. Manual intervention may be required to recover epmd.service and epmd.socket if they have failed due to systemd start-rate-limiting.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-04-29T18:06:33.251Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a677b449c2644c7f8512803
Added to database: 07/27/2026, 15:37:40 UTC
Last enriched: 07/30/2026, 00:09:44 UTC
Last updated: 09/10/2026, 20:02:53 UTC
Views: 86
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.