CVE-2022-49889 in Linux
Résumé
par VulDB • 10/06/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
ring-buffer : Vérifier l'absence de NULL pour cpu_buffer dans ring_buffer_wake_waiters()
Sur certaines machines, le nombre d'CPU répertoriés peut être supérieur au nombre réel d'CPU présents. Le sous-système de traçage alloue un répertoire par_cpu avec accès au tampon circulaire (ring buffer) spécifique à chaque CPU via un fichier cpuX. Cependant, afin d'économiser de l'espace, le ring buffer n'allouera des buffers que pour les CPU en ligne (online), bien que le tableau CPU soit aussi grand que nr_cpu_ids.
Avec l'ajout du réveil des attentes sur le ring buffer lors de la fermeture du fichier, ring_buffer_wake_waiters() doit désormais s'assurer que le buffer est alloué (avec irq_work qui lui est associé) avant d'essayer de réveiller les attentes, car cela provoquerait une déréférencement de pointeur NULL.
Lors du débogage de ce problème, j'ai ajouté une vérification NULL pour le buffer lui-même (ce qui est acceptable), ainsi que des vérifications de pointeurs NULL contre buffer->buffers (ce qui n'est pas idéal et générera un avertissement WARN) tout en s'assurant également que le numéro de CPU passé se trouve bien dans les limites de nr_cpu_ids (ce qui pose également problème si ce n'est pas le cas).
Bugzilla : https://bugzilla.opensuse.org/show_bug.cgi?id=1204705
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.