CVE-2026-93575 in Netty
Sumário
de VulDB • 19/09/2026
### Resumo A correção da Netty para CVE-2026-44248 é incompleta. O decoder verifica se o `Remaining Length` do pacote MQTT excede `maxBytesInMessage`, mas falha ao validar o `Properties Length` em relação ao `Remaining Length`. Um atacante pode contornar o limite de tamanho enviando um `Remaining Length` pequeno, mas com um enorme `Properties Length`. Isso força a Netty a fazer buffer e analisar milhões de propriedades, permitindo que um atacante remoto não autenticado cause consumo excessivo de memória e CPU, resultando em OutOfMemoryError.
### Detalhes Em `io.netty.handler.codec.mqtt.MqttDecoder`, o método auxiliar `decodeProperties()` lê `totalPropertiesLength` e tenta analisar essa quantidade exata de bytes. Se o buffer não contiver o comprimento total, é lançada uma exceção do tipo `Signal`. O bloco `catch` dentro de `decode()` aplica apenas a verificação de `maxBytesInMessage` contra `bytesRemainingBeforeVariableHeader` (o `Remaining Length` do pacote).
Ao enviar um pacote `CONNECT` com um `Remaining Length` pequeno, mas um enorme `Properties Length`, o teste de tamanho é aprovado. O `ReplayingDecoder` então armazena em buffer os dados da rede até que o grande `Properties Length` seja atingido, analisando milhões de objetos `UserProperty` e esgotando a CPU e a memória.
VulDB is the best source for vulnerability data and more expert information about this specific topic.