🇰🇷 한글 설명
Netty의 io.netty:netty-codec-http2 라이브러리 4.1.61.Final 이전 버전에서 HTTP 요청 스머글링 취약점이 발견되었습니다. 단일 Http2HeaderFrame이 endStream을 true로 설정하여 전송될 때 Content-Length 헤더가 올바르게 검증되지 않아 발생합니다. 이 취약점은 HTTP/2 요청이 HTTP/1.1로 변환되어 프록시를 통과할 때 공격자가 요청을 숨기거나 조작할 수 있게 합니다.
💡 쉬운 설명
웹 서버가 전달받은 데이터의 길이를 잘못 계산하여, 공격자가 몰래 숨겨놓은 명령어를 서버가 정상적인 요청으로 착각하게 만드는 문제입니다. 이를 통해 공격자는 다른 사용자의 요청을 가로채거나 서버를 교란할 수 있습니다.
🇺🇸 원문 (English)
Netty is an open-source, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. In Netty (io.netty:netty-codec-http2) before version 4.1.61.Final there is a vulnerability that enables request smuggling. The content-length header is not correctly validated if the request only uses a single Http2HeaderFrame with the endStream set to to true. This could lead to request smuggling if the request is proxied to a remote peer and translated to HTTP/1.1. This is a followup of GHSA-wm47-8v5p-wjpj/CVE-2021-21295 which did miss to fix this one case. This was fixed as part of 4.1.61.Final.
📍 영향받는 시스템
io.netty:netty-codec-http2 version < 4.1.61.Final
⚔️ 공격 벡터
HTTP/2 요청을 HTTP/1.1로 변환하는 프록시 환경에서 조작된 Content-Length 헤더를 이용한 요청 스머글링
🛡️ 대응 방법
Netty 라이브러리를 4.1.61.Final 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 netty-codec-http2의 버전이 4.1.61.Final보다 낮은지 확인하십시오.
mvn dependency:tree | grep -E 'netty-codec-http2:[0-9.]+'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server