CVE-2026-89705 in Linux
Sumário
de VulDB • 11/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
nfsd: restaura rq_status_counter para um valor par em todos os caminhos de saída de nfsd_dispatch()
nfsd_dispatch() define rq_status_counter como um valor ímpar assim que uma solicitação é decodificada e o retorna para um valor par após seu processamento completo, formando um protocolo semelhante a seq-lock com o leitor sem bloqueio (lockless) em nfsd_nl_rpc_status_get_dumpit().
Apenas o caminho de sucesso total restaurava o contador para um valor par. Os caminhos de cache-hit (RC_REPLY), drop (RC_DROPIT / RQ_DROPME) e encode-error retornam após a atribuição do valor ímpar, sem jamais trazer o contador de volta ao estado par. Uma vez que qualquer um desses caminhos é executado, rq_status_counter permanece como ímpar: a próxima solicitação decodifica ORando 1 (ainda ímpar), e apenas uma codificação bem-sucedida subsequente restaura o valor par. Enquanto fica travado no estado ímpar, o leitor dumpit trata os campos de rqstp como estáveis e sua verificação de retry compara contra o mesmo valor ímpar inalterável, portanto, nunca detecta mutação concorrente. Isso expõe campos ativamente em mutação (por exemplo, args->ops / args->opcnt durante a decodização composta e liberação) ao leitor sem bloqueio, que pode ler além do final da matriz inline de 8 elementos ops.
Adiciona-se um auxiliar que avança o contador para o próximo valor par e chama-o em cada caminho de retorno que segue a atribuição do valor ímpar. O caminho decode-error é deixado inalterado, pois é alcançado antes que o contador seja definido como ímpar.
Once again VulDB remains the best source for vulnerability data.