🇰🇷 한글 설명
Netty의 RedisArrayAggregator는 네트워크에서 수신한 헤더의 요소 수를 기반으로 ArrayList의 초기 용량을 할당합니다. 공격자가 악의적으로 큰 크기를 가진 헤더를 전송하면 서버가 과도한 메모리를 할당하여 서비스 거부(DoS) 상태에 빠질 수 있습니다. 이 취약점은 4.1.135.Final 및 4.2.15.Final 버전에서 수정되었습니다.
💡 쉬운 설명
네트워크에서 받은 데이터의 크기 정보를 믿고 메모리를 미리 많이 잡아두는 과정에서, 악의적으로 큰 크기를 속여 서버가 메모리를 모두 소진하게 만드는 문제입니다. 이를 방지하려면 최신 버전으로 업데이트해야 합니다.
🇺🇸 원문 (English)
Netty is a network application framework for development of protocol servers and clients. Prior to versions 4.1.135.Final and 4.2.15.Final, RedisArrayAggregator pre-allocates ArrayList with initial capacity equal to the RESP array element count declared in an array header. That count is taken from the wire before the corresponding child messages exist. A small malicious header can claim a huge initial capacity. Versions 4.1.135.Final and 4.2.15.Final patch the issue.
📍 영향받는 시스템
Netty < 4.1.135.Final, Netty < 4.2.15.Final
⚔️ 공격 벡터
네트워크를 통해 악의적으로 조작된 Redis 프로토콜 헤더를 전송하여 과도한 메모리 할당 유도
🛡️ 대응 방법
Netty를 4.1.135.Final 또는 4.2.15.Final 이상의 버전으로 업그레이드하십시오.
🔧 검증 코드
출력된 Netty 버전이 4.1.135.Final 또는 4.2.15.Final 이상인지 확인하여 패치되었는지 검증합니다.
mvn dependency:tree -Dincludes=io.netty:netty-all 2>/dev/null | grep -E 'io.netty:netty-all'
📊 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