PT-2026-53911 · Zephyr · Zephyr
CVSS v3.1
7.4
Alta
| Vetor | AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
Zephyr versão 4.3.0
Zephyr versão 4.4.0
Descrição
O resolvedor DNS em
subsys/net/lib/dns não valida adequadamente o rdlength de registros de recurso em respostas DNS dentro da função dns unpack answer(). Isso permite a aceitação de um rdlength declarado por um invasor que pode se estender além do final do datagrama recebido. Subsequentemente, os consumidores TXT e SRV em dns validate record() (localizados em resolve.c) utilizam memcpy para ler até rdlength bytes do buffer de recebimento sem realizar uma verificação de limites em relação ao tamanho real do pacote. Um servidor DNS malicioso, um invasor no caminho (on-path) ou um nó da LAN (se mDNS/LLMNR estiver habilitado) pode criar respostas TXT ou SRV truncadas para desencadear uma leitura fora dos limites da memória do pool de recebimento adjacente. Isso resulta em um vazamento de informações, onde bytes obsoletos de pacotes DNS anteriores ou memória não inicializada são retornados à aplicação. Em certas configurações, isso também pode causar uma falha no sistema, levando a uma negação de serviço.Recomendações
Atualize o Zephyr versão 4.3.0 para uma versão onde a função
dns unpack answer() rejeite registros cujo rdata declarado se estenda além de dns msg->msg size.
Atualize o Zephyr versão 4.4.0 para uma versão onde a função dns unpack answer() rejeite registros cujo rdata declarado se estenda além de dns msg->msg size.Exploit
Correção
DoS
Out of bounds Read
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Zephyr