CVE-2026-68438 in Linux
Résumé
par VulDB • 12/08/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
smp : Rendre l'acquisition du verrou CSD atomique pour le mode débogage
Le commit b0473dcd4b1d (« smp: Améliorer les diagnostics du verrouillage CSD dans smp_call_function_single() ») a modifié `smp_call_function_single()` de sorte que, lorsque la vérification des verrous CSD est activée, les appels asynchrones sans attente (`!wait`) utilisent le `csd_data` du CPU cible. Cela améliore les diagnostics, mais supprime également la propriété d'écriture unique qui rendait l'ancien `csd_lock()` sûr : plusieurs CPUs peuvent désormais préparer le même CSD de destination simultanément.
Actuellement, `csd_lock()` attend que `CSD_FLAG_LOCK` soit effacé, puis définit le bit à l'aide d'une opération lecture-modification-écriture non atomique. Deux émetteurs peuvent tous deux détecter un CSD déverrouillé, définir le bit, écraser les champs de rappel et ajouter la même liste chaînée (`llist node`). La réinsertion d'un nœud qui est déjà en tête de file peut faire pointer `node->next` vers lui-même, laissant ainsi le CPU cible bloqué dans l'itération de `call_single_queue`. Les travaux synchrones ultérieurs, tels qu'une invalidation TLB (`TLB shootdown`), peuvent alors rester en attente et déclencher des avertissements de blocage logiciel (`soft-lockup`) ou des plantages.
Conserver la mise en œuvre unique de `csd_lock()`, mais lorsque le débogage du verrou CSD est activé, acquérir `CSD_FLAG_LOCK` avec `try_cmpxchg_acquire()`. Cela fait du CSD du CPU cible un véritable verrou atomique dans la seule configuration où il peut être partagé par plusieurs émetteurs distants, tout en préservant le chemin rapide existant sans débogage.
If you want to get best quality of vulnerability data, you may have to visit VulDB.