🇰🇷 한글 설명
Python용 HTTP 클라이언트인 HTTPX2 2.12.0 미만 버전에서 콘텐츠 디코더가 압축된 데이터를 완전히 해제한 후 조각을 반환하는 취약점이 발견되었습니다. 공격자가 조작된 압축 데이터를 전송할 경우, 작은 크기의 데이터가 메모리 내에서 거대하게 확장되어 시스템 메모리 고갈이나 프로세스 강제 종료를 유발할 수 있습니다.
💡 쉬운 설명
압축된 파일을 풀 때 한꺼번에 너무 많은 메모리를 사용하게 만드는 버그입니다. 나쁜 서버가 아주 작은 파일을 아주 큰 파일처럼 보이게 보내면 컴퓨터가 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
HTTPX2 is a next generation HTTP client for Python. Prior to 2.12.0, the HTTPX2 content decoders in src/httpx2/httpx2/_decoders.py fully inflate each gzip, deflate, br, or zstd network chunk before iter_bytes() or aiter_bytes() yields bounded pieces to the application. A 64 KiB compressed chunk can expand to approximately 64 MiB in one intermediate allocation, so an attacker-controlled or compromised server can cause severe memory pressure or out-of-memory process termination even when the application streams the response. This issue is fixed in version 2.12.0.
📍 영향받는 시스템
HTTPX2 versions prior to 2.12.0
⚔️ 공격 벡터
공격자가 조작된 압축 데이터(gzip, deflate, br, zstd)를 포함한 HTTP 응답을 전송
🛡️ 대응 방법
HTTPX2 라이브러리를 2.12.0 버전 이상으로 업데이트
🔧 검증 코드
출력된 Version 값이 2.12.0 미만이면 취약한 상태이며, 2.12.0 이상이면 안전합니다.
pip show httpx2 | grep Version
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server