🔍 CVE-2026-69664

0.0
CVSS Score
UNKNOWN
2026-09-01
2026-09-22 10:17
✅ 완료

🇰🇷 한글 설명

Erlang/OTP의 inets httpd에서 발생하는 리소스 해제 누락 취약점으로, 인증되지 않은 원격 공격자가 잘못된 형식의 청크 크기(chunk-size)를 포함한 요청을 보내 서비스 거부(DoS)를 유발할 수 있습니다. 공격자가 이 요청을 반복하면 모든 워커(worker) 프로세스가 해제되지 않고 점유되어 정상적인 클라이언트의 접속이 차단됩니다.

💡 쉬운 설명

잘못된 형식의 데이터를 보내 서버의 일꾼(프로세스)들을 무한히 대기 상태로 만들어 서버를 마비시키는 공격입니다. 공격자가 이 작업을 반복하면 서버가 더 이상 새로운 손님을 받을 수 없게 됩니다.

🇺🇸 원문 (English)

Missing Release of Resource after Effective Lifetime vulnerability in Erlang/OTP inets httpd allows an unauthenticated remote attacker to cause denial of service by sending a request with a chunked body whose chunk-size line is not a hexadecimal number. The worker serving the connection is never released and no timeout reclaims it, so repeating the request across connections occupies every available worker and denies service to legitimate clients. No authentication is required and the default configuration is affected. The chunk-size line must arrive in a write separate from the headers. When the body accompanies the headers, httpd_request_handler:handle_body/3 calls http_chunk:decode/3 inside a try ... catch throw:Error, so the {error, {chunk_size, _}} thrown by http_chunk:decode_size/4 is answered with 400 Bad Request. When the chunk size arrives later, the decoder is resumed through a bare catch in httpd_request_handler:handle_info/2, which converts the throw into a return value rather than raising it; the resulting error tuple is then treated as the next decoder continuation, the socket is re-armed, and the worker waits for data that never comes. The request timeout has already been cancelled at the point the headers were accepted, and the periodic byte-rate check is only armed when minimum_bytes_per_second is configured, which it is not by default. This issue affects OTP from OTP 18.1.4 before OTP 27.3.4.17, OTP 28.5.0.6, and OTP 29.0.6, corresponding to inets from 6.0.3 before 9.3.2.7, 9.6.2.3, and 9.7.2.

📍 영향받는 시스템

OTP 18.1.4 ~ 27.3.4.17, 28.5.0.6, 29.0.6 미만 버전 (inets 6.0.3 ~ 9.3.2.7, 9.6.2.3, 9.7.2 미만)

⚔️ 공격 벡터

인증 없이 16진수가 아닌 청크 크기 라인을 포함한 HTTP chunked body 요청 전송

🛡️ 대응 방법

Erlang/OTP를 최신 보안 패치 버전(OTP 27.3.4.17, 28.5.0.6, 29.0.6 이상)으로 업데이트

🔧 검증 코드

출력된 OTP 버전이 취약점이 해결된 버전(27.3.4.17, 28.5.0.6, 29.0.6 이상)인지 확인

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

💻 영향받는 소프트웨어

Apache HTTP Server