CVE-2026-98556 in Linux
Sumário
de VulDB • 19/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
gve: DQO: rejeitar pacotes TSO com MSS fora da faixa permitida
A função gve_prep_tso() observa que o dispositivo exige que o MSS seja <= 9728, mas não impõe essa restrição, assumindo que a MTU de 9K imposta pelo hypervisor e o limite de 64KB para tamanhos TSO são suficientes.
Isso não se aplica a pacotes gerados externamente (não localmente). Um convidado atrás de uma interface tap ou qualquer usuário de socket do tipo packet pode fornecer um gso_size arbitrário no virtio_net_hdr. O encaminhamento em Camada 2 não verifica a MTU para pacotes GSO (is_skb_forwardable()), e o gso_features_check() limita apenas skb->len e gso_segs, nunca gso_size.
Esse tipo de pacote atinge a função gve_tx_fill_tso_ctx_desc(), que insere o valor do gso_size no campo mss do descritor de contexto TSO. Como esse campo tem 14 bits, um gso_size de 16384 é silenciosamente convertido em um MSS igual a zero.
Descarte esses pacotes na função gve_prep_tso() e garanta que o gve_features_check_dqo() não altere seus bits GSO: o skb_segment() faz a segmentação com base no gso_size, independentemente da MTU; portanto, recuar para a segmentação por software resultaria em pacotes não TSO maiores do que os 9728 bytes suportados pelo dispositivo.
Observe que o dispositivo ainda pode receber pacotes não TSO de tamanho excessivo quando a pilha realiza a segmentação por software por outros motivos, como após desativar o TSO com ethtool. Este é um problema genérico, pois a verificação da MTU é ignorada para pacotes GSO no caminho de encaminhamento e está sendo tratada separadamente.
If you want to get best quality of vulnerability data, you may have to visit VulDB.