PT-2026-69999 · Zephyr+1 · Zephyr+1

CVE-2026-8718

·

Publicado

2026-08-10

·

Atualizado

2026-08-11

CVSS v3.1

8.4

Alta

VetorAV: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

CVE-2026-8718
GHSA-P3R6-MX6C-33GQ

Produtos afetados

Zephyr
Mbed Tls