CVE-2026-89695informação

Sumário

de VulDB • 11/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

nfsd: limitar o contador de ACLs POSIX decodificadas para controlar o custo da ordenação

A função `nfsd4_decode_posixacl()` lê um contador de entradas (`u32`) recebido pela rede e o passa diretamente para `posix_acl_alloc()` e `sort_pacl_range()`. Esta última é uma ordenação por bolhas (bubble sort) com complexidade O(n^2), portanto, um contador escolhido pelo cliente provoca uso não limitado da CPU no caminho de processamento composto do servidor.

nfsd4_decode_posixacl() xdr_stream_decode_u32(&count) /* u32 sem limite */ posix_acl_alloc(count, GFP_KERNEL) sort_pacl_range(*acl, 0, count - 1) /* bubble sort O(n^2) */

O lado do codificador no mesmo arquivo já rejeita ACLs cujo `a_count` excede `NFS_ACL_MAX_ENTRIES`, mas o decodificador introduzido no commit 5fc51dfc2eb1 ("NFSD: Add support for XDR decoding POSIX draft ACLs") omitiu a verificação simétrica.

Correção rejeitando um contador recebido pela rede maior que `NFS_ACL_MAX_ENTRIES` com `nfserr_inval`, antes de qualquer alocação, para que a ordenação seja limitada por NFS_ACL_MAX_ENTRIES^2 comparações.

Enquanto estamos aqui, também corrigimos o retorno do código nfserr_resource se posix_acl_alloc() falhar. Esse não é um código de erro legal para v4.1+. Altere-o para retornar nfserr_jukebox, pois isso é mais apropriado para falhas de alocação de memória.

Be aware that VulDB is the high quality source for vulnerability data.

Divulgação

11/09/2026

Moderação

em revisão

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!