PT-2026-69999 · Zephyr+1 · Zephyr+1
CVE-2026-8718
·
Publicado
2026-08-10
·
Atualizado
2026-08-11
CVSS v3.1
8.4
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
Zephyr versões 3.5.0 e posteriores
Descrição
Uma gravação fora dos limites existe na função
tls opt dtls peer connection id value get() em subsys/net/lib/sockets/sockets tls.c. Esta função processa a chamada getsockopt(SOL TLS, TLS DTLS PEER CID VALUE) e passa o optval fornecido pelo chamador para mbedtls ssl get peer cid() sem verificar se o buffer possui pelo menos MBEDTLS SSL CID OUT LEN MAX (padrão 32) bytes. Como a função mbedtls ssl get peer cid() copia o ID de Conexão DTLS negociado com o peer para esse buffer sem um parâmetro de tamanho de destino, um optlen fornecido pelo chamador menor que o CID causa uma gravação de até 31 bytes além do final do buffer. Em compilações utilizando CONFIG USERSPACE, o verificador de chamada de sistema getsockopt (z vrfy zsock getsockopt) utiliza buffers de salto para alocar no kernel exatamente optlen bytes via k usermode alloc from copy e z thread malloc. Consequentemente, uma thread de usuário não privilegiada que passe um optlen pequeno em um socket DTLS conectado com ID de Conexão habilitado induz um estouro de buffer no heap do kernel. Este problema requer CONFIG MBEDTLS SSL DTLS CONNECTION ID, uma sessão DTLS estabelecida com um CID de peer negociado e CONFIG USERSPACE para o caso de travessia de kernel.Recomendações
Atualize o Zephyr para uma versão onde a função
tls opt dtls peer connection id value get() rejeite chamadores cujo optlen seja inferior a MBEDTLS SSL CID OUT LEN MAX retornando -EINVAL.Exploit
Correção
Memory Corruption
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Zephyr
Mbed Tls