CVE-2026-93575 in Netty정보

요약

\~에 의해 VulDB • 2026. 09. 18.

### 요약 Netty의 CVE-2026-44248 수정은 불완전합니다. 디코더는 MQTT 패킷의 `Remaining Length`가 `maxBytesInMessage`를 초과하는지 확인하지만, `Properties Length`와 `Remaining Length` 간의 유효성 검사는 수행하지 않습니다. 공격자는 작은 `Remaining Length`와 거대한 `Properties Length`를 전송하여 크기 제한을 우회할 수 있습니다. 이로 인해 Netty는 수백만 개의 속성을 버퍼링하고 파싱하게 되어, 인증되지 않은 원격 공격자가 과도한 메모리 및 CPU 소비를 유발하여 OutOfMemoryError를 발생시킬 수 있습니다.

### 상세 `io.netty.handler.codec.mqtt.MqttDecoder`의 `decodeProperties()` 헬퍼 메서드는 `totalPropertiesLength`를 읽은 후 해당 바이트 수만큼 파싱을 시도합니다. 버퍼에 전체 길이가 부족하면 `Signal` 예외가 발생합니다. `decode()` 내부의 `catch` 블록에서는 `bytesRemainingBeforeVariableHeader`(패킷의 `Remaining Length`)에 대해 `maxBytesInMessage`만 강제 적용합니다.

작은 `Remaining Length`와 거대한 `Properties Length`를 가진 `CONNECT` 패킷을 전송하면 크기 검사를 통과할 수 있습니다. 이후 `ReplayingDecoder`는 네트워크에서 데이터가 버퍼링되어 거대한 `Properties Length`에 도달할 때까지 기다리며, 수백만 개의 `UserProperty` 객체를 파싱하여 CPU와 메모리를 고갈시킵니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Redhat

예약하다

2026. 09. 18.

모더레이션

수락

항목

VDB-407465

EPSS

0.00000

출처

Might our Artificial Intelligence support you?

Check our Alexa App!