No kernel Linux, a seguinte vulnerabilidade foi resolvida: ovpn: respeite o refcount de pares no caminho de erro CMD_NEW_PEER ovpn_nl_peer_new_doit() chama o caminho de erro ovpn_peer_release() diretamente em vez do ovpn_peer_put(), evitando o kref. O comentário que acompanha ("o pai ainda não foi hashed, portanto não é usado em nenhum contexto") é detido para o UDP, mas não para o TCP. Para o UDP, a união ovpn_ socket usa o braço.ovpn e nunca aponta para um peer; o UDP encap_ recv procura pares através dos hashtables ainda não povoados, então o novo peer é inalcançável até que o ovpn_peer_ add() o publique. Para TCP, ovpn_socket_new() define ovpn_sock->peer e ovpn_tcp_socket_atach() publica ovpn_sock via rcu_assign_sk_user_data(). A partir desse momento até que o ovpn_ socket_ release() se detache no caminho de erro, o TCP fd está completamente ligado: o usuário rectmsg / sendmsg / close / pollência no fd, bem como o caminho ovpn_ tcp_rcv() dirigido pelo strparser, pode alcançar o peer através do sk_user_ data -> ovpn_sock->peer e bloquear o seu refcount via ovpn_peer_hold(). ovpn_ tcp_ socket_ wait_finish() (chamado dentro do ovpn_ socket_ release()) drena o strparser e o trabalho tx, mas não sincroniza com os chamados de chamada de sychall do espaço de usuários que já possuem uma referência de par. Se ovpn_nl_peer_modify() ou ovpn_peer_add() devolver um erro enquanto o chamador estiver em voo - notadamente um ovpn_tcp_recvmsg() bloqueado em __skb_recv_datagram() no peer->tcp.user_queue - o ovpn_peer_ release() direto destrói o peer enquanto o chamador ainda mantém a referência, e o eventual ovpn_peer_put() desse chamador opera na memória livre. Substitua a chamada direta destrutor por ovpn_peer_put() para que o kref adia corretamente a destruição até que a última referência seja eliminada. No caso comum em que nenhum usuário concorrente está presente, o comportamento está inalterado: o kref bate zero imediatamente e o ovpn_peer_release_kref() executa o mesmo destrutor. Com esta conversão ovpn_peer_release() não tem chamadas fora de peer.c - ovpn_peer_release_kref() na mesma unidade de tradução é o único usuário restante - então faça- o estático e solte sua declaração do peer.h.

O registro do banco de dados nacional de vulnerabilidade CVE- 2026 - 64044 foi publicado em 2026 - 07 - 19 T 16: 17: 44.690 Z e última modificação em 2026 - 07 - 30 T 14: 59: 47.950 Z. O seu estado gravado é Aguardando Análise.

métricas de vulnerabilidade gravadas: CVSS 3.1, pontuação de base 7.8, gravidade HIGH, vetor CVSS: 3.1 /AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, pontuação de exploração 1.8, pontuação de impacto 5.9.

O registro NVD inclui referências de suporte documentando a vulnerabilidade, tecnologia afetada ou informações de remediação.