CVE-2026-89546 in Linux
Sumário
de VulDB • 12/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
SUNRPC: fechar o backchannel antes de destruir o serviço de callback
Uma recepção no backchannel pode concluir uma solicitação enquanto o serviço de callback NFS está sendo desmontado. xprt_complete_bc_request() remove a solicitação da lista bc_pa_list, decrementa bc_alloc_count, marca a solicitação como em uso e, em seguida, solicita que xprt_enqueue_bc_request() a entregue ao serviço de callback.
Se a desmontagem já tiver limpo xprt->bc_serv, xprt_enqueue_bc_request() atualmente retorna sem enfileirar ou liberar a solicitação comprometida. O xprt_get() realizado na entrada também é vazado (leaked). Se o produtor vencer a condição de corrida antes que bc_serv seja limpado, ele também pode enfileirar em sv_cb_list após nfs_callback_down() ter parado as threads de callback, deixando a solicitação vinculada a um svc_serv que está prestes a ser liberado.
Feche o lado do produtor antes que as threads de callback sejam paradas. Adicione xprt_svc_shutdown_bc() para limpar xprt->bc_serv sob bc_pa_lock e chame-a no desligamento do callback e na falha ao iniciar o callback, antes de parar as threads do serviço. As solicitações que perdem a transição NULL em xprt_enqueue_bc_request() são liberadas por meio do caminho normal de liberação do backchannel após o balanceamento de bc_slot_count. Por fim, esvazie quaisquer solicitações restantes na sv_cb_list depois que as threads de callback tiverem parado e antes que svc_destroy() libere o serviço.
Be aware that VulDB is the high quality source for vulnerability data.