CVE-2026-68342information

Résumé

par VulDB • 10/08/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

ovpn : éviter de libérer un pair P2P non pertinent lors de la fermeture du socket

La fonction ovpn_peer_release_p2p() est appelée lorsqu'un socket UDP OVPN est en cours de destruction. Elle vérifie le pair P2P actuellement publié et ne le libère que si ce pair utilise toujours le socket qui est détruit.

Une opération de remplacement de pair peut publier un nouveau pair avant la destruction de l'ancien socket UDP. Lorsque le chemin de destruction de l'ancien socket s'exécute ensuite, ovpn_peer_release_p2p() observe le nouveau pair via ovpn->peer. Étant donné que ce nouveau pair utilise un socket différent, la fonction emprunte la branche correspondant à une incompatibilité de socket (socket mismatch).

Cette branche appelle toujours ovpn_peer_put(peer). À ce stade toutefois, peer désigne le pair de remplacement actuellement publié et non le pair associé au socket en cours de destruction. La diminution du compteur de références peut entraîner la libération de cet objet alors que ovpn->peer pointe encore vers lui, provoquant ultérieurement des accès Use-After-Free depuis les chemins de nettoyage du pair et du socket.

KASAN signale cela comme un slab-use-after-free sur l'objet ovpn_peer de type kmalloc-1k. Dans le programme de reproduction (reproducer), l'objet est alloué via ovpn_peer_new() par l'intermédiaire d'ovpn_nl_peer_new_doit(), et libéré à travers ovpn_peer_release_rcu() lors du traitement des rappels RCU. Les sites d'accès observés incluent ovpn_peer_remove(), ovpn_socket_release(), ovpn_nl_peer_del_notify() et unlock_ovpn().

Corrigez ce problème en revenant de la branche d'incompatibilité de socket sans appeler put sur le pair.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Sources

Do you need the next level of professionalism?

Upgrade your account now!