🇰🇷 한글 설명
elixir-mint 라이브러리의 Mint.HTTP1 모듈에서 리소스 제한 없이 데이터를 할당하는 취약점이 발견되었습니다. 공격자가 조작된 HTTP 헤더를 무한히 전송할 경우, 클라이언트 호스트의 메모리가 고갈되어 서비스 거부(DoS) 상태에 빠질 수 있습니다.
💡 쉬운 설명
나쁜 서버가 끝내지 않는 데이터를 계속 보내서 컴퓨터의 메모리를 전부 써버리게 만드는 공격입니다. 이로 인해 해당 프로그램을 사용하는 전체 서비스가 멈출 수 있습니다.
🇺🇸 원문 (English)
Allocation of resources without limits vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service.
The Mint.HTTP1.decode_headers/5 and Mint.HTTP1.decode_trailer_headers/4 functions in lib/mint/http1.ex accumulate every parsed response header and chunked-trailer field into a per-request list that persists across incoming TCP segments as request.headers_buffer, and only clear it when the terminating blank line is received. The section has no cap on the number of headers or on total bytes, and the underlying :erlang.decode_packet(:httph_bin, binary, []) parser is invoked with an empty option list so its per-line and per-packet size limits also default to unlimited.
A malicious HTTP server (reachable directly, via an attacker-controlled redirect, via SSRF, or via a man-in-the-middle) can stream complete header lines (or, after a chunked body, complete trailer lines) indefinitely without ever emitting the terminating blank line. The connection state grows without bound until the BEAM node is killed by the operating system's out-of-memory handler, taking down the entire application that uses Mint as an HTTP client.
This issue affects mint: from 0.1.0 before 1.9.2.
📍 영향받는 시스템
mint: 0.1.0 버전부터 1.9.2 미만 버전
⚔️ 공격 벡터
악의적인 HTTP 서버를 통한 무제한 헤더 스트리밍 (SSRF 또는 MitM 포함)
🛡️ 대응 방법
mint 라이브러리를 1.9.2 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 mint의 버전이 1.9.2 미만인지 확인하십시오.
mix deps info mint | grep -E 'mint \([0-9]+\.[0-9]+\.[0-9]+\)'
💻 영향받는 소프트웨어
IBM WebSphere Application Server