🔍 CVE-2026-42792

7.5
CVSS Score
HIGH
2026-07-27
2026-10-24 13:10
✅ 완료

🇰🇷 한글 설명

Erlang OTP의 erts(epmd) 구성요소에서 예외 상황을 부적절하게 처리하는 취약점입니다. 인증되지 않은 원격 공격자가 파일 디스크립터 슬롯을 고갈시켜 Erlang Port Mapper Daemon(epmd)을 영구적으로 종료시킬 수 있습니다. 이 문제는 OTP 17.0부터 OTP 29.0.4, 28.5.0.4, 27.3.4.15 이전 버전에 영향을 줍니다.

💡 쉬운 설명

Erlang 기반 서버가 사용하는 연결 관리 프로그램이 많은 연결 공격을 받으면 스스로 멈춰버릴 수 있습니다. 공격자는 인증 없이도 이 상태를 만들 수 있어 서비스가 계속 중단될 위험이 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Erlang OTP 17.0 이상 ~ 29.0.4 미만, 28.5.0.4 미만, 27.3.4.15 미만 버전의 epmd 사용 시스템 (Debian/Ubuntu 기본 패키징 포함)

⚔️ 공격 벡터

단일 소스 IP에서 다수의 TCP 연결을 유지하면서 주기적으로 1바이트를 전송해 유휴 타임아웃을 리셋하고 파일 디스크립터를 고갈시켜 epmd를 종료시킴

🛡️ 대응 방법

OTP 29.0.4, 28.5.0.4, 27.3.4.15 이상으로 업데이트하고 필요 시 epmd 접근을 방화벽으로 제한

🔧 검증 코드

출력된 OTP 메이저 버전(27/28/29)과 패치 버전을 비교해 취약 범위에 해당하는지 확인하며, 결과가 없으면 Erlang이 설치되지 않은 것입니다

Shell / Script
erl -noshell -eval 'io:format("~s~n", [erlang:system_info(otp_release)]), halt().' 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Magento Open Source