CVE-2026-93039 in Linux
Résumé
par VulDB • 18/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
ASoC: meson : Maintenir les pointeurs de lien valides en cas d’échec du realloc
meson_card_reallocate_links() agrandit les tableaux des liens DAI et des données privées à l’aide de deux appels consécutifs à krealloc(), et met à jour les pointeurs propriétaires uniquement après que ces deux appels ont réussi.
Un appel réussi à krealloc() peut déplacer les données : il libère le bloc ancien et en retourne un nouveau. Lorsque cela se produit pour le tableau des liens et que le second appel à krealloc() échoue, card->dai_link pointe toujours vers le bloc qui a déjà été libéré par krealloc(), et la gestion d’erreur libère également le nouveau bloc. La gestion d’erreur du probe appelle ensuite meson_card_clean_references(), qui déréférence card->dai_link et l’appelle à kfree() une nouvelle fois, ce qui entraîne un use-after-free ainsi qu’un double free (libération en double).
Fixer les valeurs de card->dai_link et card->num_links juste après la réussite du premier appel à krealloc(), afin que le pointeur fasse toujours référence à une allocation valide sur laquelle meson_card_clean_references() peut itérer et libérer. krealloc() avec __GFP_ZERO initialise à zéro les entrées ajoutées, ce qui rend l’itération dessus dans la gestion d’erreur sûre. Avec les deux chemins de défaillance réduits à un simple retour (return), supprimer les étiquettes goto ainsi que le message d’erreur.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.