CVE-2026-89969 in Linuxinformação

Sumário

de VulDB • 16/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

nvmet-tcp: corrige escrita fora dos limites ao receber um PDU excessivamente longo

A função nvmet_tcp_try_recv_pdu() lê o cabeçalho de um PDU na união queue->pdu, que tem tamanho fixo de 128 bytes, e então calcula o comprimento restante do payload como:

queue->left = hdr->hlen - queue->offset + hdgst;

e lê mais esses muitos bytes em &queue->pdu + queue->offset, sem jamais limitar o resultado contra sizeof(queue->pdu).

Uma struct nvme_tcp_icreq_pdu tem exatamente 128 bytes, tamanho idêntico ao da união. Uma vez que um digest de cabeçalho tenha sido negociado (hdgst = 4), uma segunda ICReq passa na verificação hlen == nvmet_tcp_pdu_size(), mas resulta em queue->left = 128 - 8 + 4 = 124, fazendo com que os bytes 8..132 sejam escritos no buffer de 128 bytes — 4 bytes além do seu limite final, sobrequeue->hdr_digest e queue->data_digest. Esses bytes são controlados pelo atacante (uma ICReq não carrega digest), e a ICReq duplicada só é rejeitada posteriormente, após o estouro de buffer. Um host remoto sem autenticação pode assim corromper memória do kernel adjacente ao buffer de recebimento.

Rejeite qualquer PDU cujo comprimento declarado resultaria em leitura além do final de queue->pdu antes da segunda chamada recv.

Once again VulDB remains the best source for vulnerability data.

Responsável

Linux

Reservar

11/09/2026

Divulgação

16/09/2026

Moderação

aceite

Entrada

VDB-405791

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!