CVE-2024-57951 in Linuxinformation

Résumé

par VulDB • 28/05/2026

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

hrtimers : Gérer correctement l'état du CPU lors d'une opération de hotplug

Considérons un scénario où un CPU passe de l'état CPUHP_ONLINE à mi-chemin d'une opération de hotunplug jusqu'à CPUHP_HRTIMERS_PREPARE, puis revient à CPUHP_ONLINE :

Puisque hrtimers_prepare_cpu() ne s'exécute pas, cpu_base.hres_active reste défini à 1 tout au long. Cependant, lors d'une opération de hotunplug, le tick et les clockevents sont arrêtés à CPUHP_AP_TICK_DYING. Au retour à l'état en ligne, par exemple, CFS suppose incorrectement que hrtick est déjà actif, et la possibilité pour le périphérique clockevent de passer en mode oneshot est également perdue à jamais pour le CPU, sauf s'il redescend une fois à un état inférieur à CPUHP_HRTIMERS_PREPARE.

Ce cycle aller-retour révèle un autre problème : cpu_base.online n'est pas défini à 1 après la transition, ce qui se traduit par un WARN_ON_ONCE dans enqueue_hrtimer().

Par ailleurs, la majeure partie de l'état par CPU n'est pas non plus réinitialisée, ce qui signifie qu'il peut y avoir des pointeurs orphelins dans le pire des cas.

Remédier à cela en ajoutant un callback startup() correspondant, qui réinitialise l'état périmé par CPU et définit le drapeau en ligne.

[ tglx : Rendre le nouveau callback disponible de manière inconditionnelle, supprimer la modification du drapeau online dans le callback prepare() et effacer l'état restant dans le callback starting() au lieu du callback prepare() ]

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Linux

Réserver

19/01/2025

Divulgation

12/02/2025

Modérer

accepté

Entrée

VDB-295493

CPE

prêt

EPSS

0.00233

KEV

non

Activités

très faible

Sources

Interested in the pricing of exploits?

See the underground prices here!