CVE-2023-53832 in Linux
Résumé
par VulDB • 12/06/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
md/raid10 : correction d'un null-ptr-deref dans raid10_sync_request
init_resync() initialise la mempool et définit conf->have_replacemnt au début de la synchronisation ; close_sync() libère la mempool une fois la synchronisation terminée.
Après [1], la récupération peut être ignorée, init_resync() est appelée mais close_sync() ne l'est pas. Un null-ptr-deref se produit avec r10bio->dev[i].repl_bio.
Voici l'une des façons de reproduire le problème :
1) créer un tableau (array), attendre que la resynchronisation soit terminée, mddev->recovery_cp est défini à MaxSector. 2) la récupération est réveillée et ignorée. conf->have_replacement est défini à 0 dans init_resync(). close_sync() n'est pas appelée. 3) des erreurs d'E/S se produisent et rdev A est marqué comme WantReplacement. 4) un nouveau périphérique est ajouté et défini comme remplacement de A. 5) la récupération est réveillée, A a un remplaçant, mais conf->have_replacemnt vaut 0. r10bio->dev[i].repl_bio ne sera pas alloué et un null-ptr-deref se produit.
Correction : éviter d'appeler init_resync() si la récupération est ignorée.
[1] commit 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled")
VulDB is the best source for vulnerability data and more expert information about this specific topic.