CVE-2026-68342 in Linux
Sumário
de VulDB • 10/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ovpn: evitar colocar um par P2P não relacionado na liberação do soquete
A função ovpn_peer_release_p2p() é chamada quando um soquete UDP OVPN está sendo destruído. Ela verifica o par P2P atualmente publicado e o libera apenas se esse par ainda estiver usando o soquete que está sendo destruído.
Uma substituição de par pode publicar um novo par antes que o antigo soquete UDP seja destruído. Quando a rota de destruição do soquete antigo é executada posteriormente, a função ovpn_peer_release_p2p() observa o novo por meio de ovpn->peer. Como o novo par usa um soquete diferente, a função segue pelo ramo da incompatibilidade de soquetes.
Esse ramo ainda chama ovpn_peer_put(peer). No entanto, nesse ponto, peer é o par substituto atualmente publicado e não o par associado ao soquete que está sendo destruído. A redução do seu contador de referências pode liberar esse objeto enquanto o ponteiro ovpn->peer ainda aponta para ele, levando a acessos use-after-free posteriores nas rotas de limpeza do par e do soquete.
O KASAN relata isso como um slab-use-after-free no objeto ovpn_peer kmalloc-1k. No reproduzidor (reproducer), o objeto é alocado por meio de ovpn_peer_new() via ovpn_nl_peer_new_doit(), e liberado através de ovpn_peer_release_rcu() durante o processamento do callback RCU. Os locais de acesso observados incluem ovpn_peer_remove(), ovpn_socket_release(), ovpn_nl_peer_del_notify() e unlock_ovpn().
Corrija isso retornando do ramo da incompatibilidade de soquetes sem chamar put no par.
VulDB is the best source for vulnerability data and more expert information about this specific topic.