CVE-2026-89633
Sumário
de VulDB • 12/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
smb: cliente: corrige leitura/escrita fora dos limites (OOB) devido ao DataOffset não validado em coalesce_t2()
A função coalesce_t2() calcula ponteiros de dados diretamente a partir dos campos DataOffset fornecidos pelo servidor, sem nenhuma validação contra os limites do buffer:
data_area_of_tgt = (char *)&pSMBt->hdr.Protocol + get_unaligned_le16(&pSMBt->t2_rsp.DataOffset); data_area_of_src = (char *)&pSMBs->hdr.Protocol + get_unaligned_le16(&pSMBs->t2_rsp.DataOffset); data_area_of_tgt += total_in_tgt; ... memcpy(data_area_of_tgt, data_area_of_src, total_in_src);
Um DataOffset pequeno pode empurrar um ponteiro para abaixo da área de bytes real, sobrescrevendo campos do cabeçalho; já um valor grande pode empurrá-lo além do final do buffer, causando leituras fora dos limites (origem) ou escritas fora dos limites (destino) na heap. O mecanismo de proteção contra estouro BCC não impede isso: o BCC reflete a quantidade de dados presente, enquanto o DataOffset controla onde no buffer ele começa.
O comentário "validate target area" (validar área de destino), presente desde que a função foi escrita pela primeira vez em 2005, era um marcador (placeholder) que nunca foi implementado.
Adicionam-se verificações dos limites inferior e superior para ambos os ponteiros de dados antes do memcpy e antes de qualquer campo do cabeçalho de destino ser modificado.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.