CVE-2026-53365 in Linux
Résumé
par VulDB • 13/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
vsock/virtio : correction de l'achèvement du zerocopy pour les envois multi-skb
Lorsqu'un message volumineux est fragmenté en plusieurs skbs (socket buffers), l'argument utilisateur (uarg) zerocopy n'est alloué et attaché qu'au dernier skb dans la boucle. Les skbs non finaux conservent des pages utilisateur épinglées sans suivi d'achèvement, de sorte que le noyau ne dispose d'aucun moyen d'informer l'espace utilisateur lorsque ces pages sont sûres à réutiliser. Si la boucle se termine prématurément, l'uarg n'est jamais alloué du tout, entraînant une fuite des pages épinglées sans notification d'achèvement.
Pour corriger ce problème, nous suivons l'approche utilisée par TCP : allocation de l'uarg zerocopy (s'il n'est pas fourni par l'appelant) avant la boucle d'envoi et attachement à chaque skb via `skb_zcopy_set()`, qui prend une référence pour chaque skb. L'achèvement de chaque skb décrémente correctement le compteur de références, et la notification ne se déclenche qu'après que le dernier skb a été libéré. En cas d'échec, si aucune donnée n'a été envoyée, l'uarg est annulé proprement via `net_zcopy_put_abort()`.
Ce problème a initialement été découvert par sashiko lors de la révision du commit 1cb36e252211 ("vsock/virtio : correction de la comptabilité des pages épinglées MSG_ZEROCOPY"), mais il était préexistant.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.