CVE-2023-53728 in Linuxinformation

Résumé

par VulDB • 17/06/2026

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

posix-timers : S'assurer que la limite de boucle de recherche d'un ID de timer est valide

posix_timer_add() tente d'allouer un ID de timer POSIX en commençant par l'ID mis en cache qui avait été stocké lors de la dernière allocation réussie.

Cela se fait dans une boucle recherchant un emplacement libre dans l'espace des IDs, un par un. La boucle doit s'arrêter lorsque la recherche revient au point de départ (bouclage).

Mais cela présente une condition de course (race condition) avec l'établissement du point de départ. En effet, cette valeur est lue sans verrouillage (lockless), ce qui entraîne le problème suivant :

CPU0 CPU1 posix_timer_add() start = sig->posix_timer_id; lock(hash_lock); ... posix_timer_add() if (++sig->posix_timer_id < 0) start = sig->posix_timer_id; sig->posix_timer_id = 0;

Ainsi, CPU1 peut observer une valeur de départ négative, c'est-à-dire -1, et la sortie de boucle ne se produit jamais car la condition ne peut jamais être vraie :

if (sig->posix_timer_id == start) break;

Bien qu'il soit peu probable que cela aboutisse à une boucle infinie étant donné l'espace des IDs est immense (INT_MAX), cette lecture non atomique de la valeur de départ a attiré l'attention de KCSAN, et Dmitry en a révélé l'inexactitude.

Réécrivez le code afin que toutes les opérations sur les ID soient protégées par le verrou hash_lock.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Réserver

22/10/2025

Divulgation

22/10/2025

Modérer

accepté

Entrée

VDB-329345

CPE

prêt

EPSS

0.00195

KEV

non

Activités

très faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!