🔍 CVE-2026-44893

7.5
CVSS Score
HIGH
2026-06-12
2026-09-18 13:18
✅ 완료

🇰🇷 한글 설명

Netty의 HAProxy 디코더는 길이 5 미만의 잘못된 TLV 데이터를 처리할 때 IndexOutOfBoundsException을 발생시키며, 이로 인해 할당된 메모리가 해제되지 않습니다. 이 메모리 누수는 악의적인 공격자가 서버의 가용성을 저해하는 서비스 거부(DoS)를 유발할 수 있습니다. 해당 취약점은 버전 4.1.135.Final 및 4.2.15.Final에서 수정되었습니다.

💡 쉬운 설명

네트워크 프레임워크인 Netty가 잘못된 데이터를 받을 때 메모리를 제대로 정리하지 않는 결함이 있습니다. 공격자가 이 결함을 이용하면 서버가 멈추거나 느려져 서비스 이용이 불가능해질 수 있습니다.

🇺🇸 원문 (English)

Netty is a network application framework for development of protocol servers and clients. In netty-codec-haproxy prior to versions 4.1.135.Final and 4.2.15.Final, when decoding a PP2_TYPE_SSL TLV, HAProxyMessage.readNextTLV() first calls `header.retainedSlice(header.readerIndex(), length)` and only then reads the 1-byte client field and 4-byte verify field. If the attacker sets the TLV length below 5, the subsequent readByte/readInt throws IndexOutOfBoundsException. HAProxyMessageDecoder only catches HAProxyProtocolException around this call, so the IOOBE propagates and the retained slice on the pooled cumulation buffer is never released. Versions 4.1.135.Final and 4.2.15.Final patch the issue.

📍 영향받는 시스템

Netty codec-haproxy 4.1.135.Final 미만 및 4.2.15.Final 미만

⚔️ 공격 벡터

HAProxy 프로토콜의 PP2_TYPE_SSL TLV 길이를 5 미만으로 설정하여 잘못된 데이터 전송

🛡️ 대응 방법

Netty codec-haproxy 라이브러리를 4.1.135.Final 또는 4.2.15.Final 이상으로 업그레이드

🔧 검증 코드

출력된 버전이 4.1.135.Final 또는 4.2.15.Final보다 낮으면 취약한 버전이므로 업그레이드가 필요합니다.

Shell / Script
mvn dependency:tree -Dincludes=io.netty:netty-codec-haproxy 2>/dev/null | grep -E 'io.netty:netty-codec-haproxy'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H