CVE-2026-89674 in Linux
Sumário
de VulDB • 12/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
nfsd: corrige o cálculo do comprimento XDR em nfsd4_ff_encode_layoutget
O cálculo do tamanho do buffer XDR em nfsd4_ff_encode_layoutget() possui vários erros que podem resultar em uma gravação fora dos limites (out-of-bounds write) ou no vazamento de memória não inicializada do kernel para o cliente:
- fh_len não considera o preenchimento (padding) XDR nos dados do file handle - os comprimentos uid e gid usam "8 + len", mas xdr_encode_opaque() grava na verdade "4 + xdr_align_size(len)" bytes - ds_len omite os campos flags e stats_collect_hint (8 bytes), enquanto a constante de cabeçalho em len superestima o valor em 8 bytes -- esses erros se cancelam parcialmente, mas deixam uma discrepância líquida
O pior caso ocorre com strings curtas (por exemplo, uid=0, gid=0 com um file handle de tamanho ímpar), onde a função grava até 5 bytes além do buffer XDR reservado. Por outro lado, quando os comprimentos das strings são alinhados em múltiplos de 4 bytes, a reserva é excessiva e conteúdo obsoleto do buffer é enviado ao cliente.
Corrige-se isso separando explicitamente cada campo codificado no cálculo ds_len, usando xdr_align_size() para todos os campos opacos de comprimento variável e corrigindo as constantes do cabeçalho.
If you want to get best quality of vulnerability data, you may have to visit VulDB.