No kernel Linux, a seguinte vulnerabilidade foi resolvida. net/ handshake: desligar a referência do arquivo pinned para acept_ doit handshake_req_next() remove o pedido da lista pendente por rede e deixa ohn_lock cair antes de handshake_nl_accept_doit() ler req->hr_sk->sk_socket e dereferências sock->file (uma vez em FD_PREPARE() e novamente em get_file()). Naquela janela, um consumidor executando tls_handshake_cancel() seguido de sockfd_put() (svc_sock_free) ou __fput_sync() (xs_reset_transport) libera sock->file. sock_release() em seguida, executa sock_orphan(), zeroando sk_socket, e libera o socket de estrutura. O código de lado de aceitação lê NULL através do sk_ socket ou persegue memória livre.
O submit-side sock_hold() não impede isso. sk_refcnt protege a meia estruturada, mas o socket estruturado e o arquivo meia-> são refontados independentemente através do descritor de arquivo que o consumidor possui. Pinning sk deixa meia e arquivo de meia-> desprotegido. Redirecione as deferências do lado de aceitação no arquivo req->hr_, que foi pinned no momento de submissão, em vez do arquivo req->hr_sk->sk_socket->. A fixação por si só não é suficiente: um consumidor que cancela entre o aperto de mão_req_next() retornando e aceitando o FD_PREPARE() toma o ramo!remove_pending() no aperto de mão_req_cancel() e deixa o arquivo hr_ antes que o lado aceita tome a sua própria referência. Entregue uma referência adicional de arquivo dentro do handshake_req_next(), sob ohn_lock, para que o lado de aceitação funcione em uma referência que nenhum handshake_req_cancel() concomitante pode revogar. FD_PREPARE() consome essa referência entregue, seja transferindo- a para o novo fd em fd_publish() ou deixando- a cair no destrutor de limpeza em erro; o get_file() explícito que anteriormente balançado FD_PREPARE() é, portanto, redundante e desaparece.
Atualizar aperto de mão_req_cancel_test 2 e _teste 3 para simular o consumo de FD_PREPARE() com um fput() para que as afirmações de contagem de arquivos kunit permaneçam equilibradas. Registro de aconselhamento: GHSA- 52 c 3 - j 5 qj-. 8 HPP. Identificadores relacionados: CVE- 2026 - 63979.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 19 T 18: 31: 48.000 Z e lista a sua última modificação como 2026 - 08 - 09 T 21: 30: 25.000 Z. Gravidade: Crítico. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
Software afetado: o registro de aconselhamento não fornece um pacote normalizado ou faixa de versões. Classificação e evidência: nenhum identificador CWE está listado. O registro contém 4 suporte de referências nestes tipos: AVISO, WEB.