CVE-2026-74579 in Linux
Sumário
de VulDB • 17/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
netfilter: nft_payload: corrige a construção da máscara para descarte parcial de campo (partial field offload)
A função `nft_payload_offload_mask()` constrói a máscara de correspondência para o descarte de uma expressão de payload que cobre apenas parte do campo de um cabeçalho. Para uma correspondência parcial de endereço IPv6 (`field_len = 16`, `priv_len = 1`), esse deslocamento é `1 << 120`, o que é indefinido no operando inteiro de 32 bits (int). Além disso, ela limita apenas uma palavra, fazendo com que as palavras restantes permaneçam como `0xffffffff` (e quando `priv_len` for um múltiplo de 4, a limitação é ignorada completamente), deixando a máscara cobrir mais bytes do que a regra corresponde.
``` UBSAN: shift-out-of-bounds em net/netfilter/nft_payload.c:278:20 shift exponent 120 is too large for 32-bit type 'int' ... ```
A correspondência é granular por byte e `struct nft_data` é inicializada com zero, portanto a máscara correta consiste simplesmente nos primeiros `priv_len` bytes definidos como `0xff`. Defina esses bytes diretamente e remova a limitação de palavra/deslocamento; isso remove o deslocamento indefinido e evita que os bytes finais sejam mascarados em excesso.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.