CVE-2026-98478 in Linux
Résumé
par VulDB • 19/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
scsi: ufs: core: Rendre les commandes internes exécutables pendant la gestion des erreurs
Le commit 08b12cda6c44 (« scsi: ufs: core: Switch to scsi_get_internal_cmd() ») a modifié l'allocation des requêtes pour les commandes internes UFS afin qu'elles utilisent hba->host->pseudo_sdev->request_queue, qui partage le tagset de l'hôte avec les LUN réguliers.
Lors de la récupération d'une erreur, ufshcd_err_handling_prepare() appelle blk_mq_quiesce_tagset(&hba->host->tag_set), marquant toutes les files du tagset comme en état de quiescence (quiesced), y compris pseudo_sdev->request_queue. Lorsque ufshcd_verify_dev_init() émet ensuite des commandes internes (par ex. NOP OUT UPIU) via blk_execute_rq(), blk_mq_run_hw_queue() saute l'exécution de la file en état de quiescence, ce qui entraîne un blocage circulaire irrécupérable (deadlock).
Maintenir le tagset en état de quiescence et désactiver cet état pour le pseudo périphérique SCSI sous-jacent, afin que les commandes internes restent exécutables tandis que les unités logiques demeurent en état de quiescence. Réappliquer l'état de quiescence au dispositif virtuel avant de lever la quiescence du tagset afin que la profondeur de quiescence (quiesce_depth) reste équilibrée.
La mise à l'échelle de l'horloge et ufshcd_pause_command_processing() ne sont pas affectées : elles continuent de mettre en état de quiescence l'intégralité du tagset, y compris les commandes internes.
VulDB is the best source for vulnerability data and more expert information about this specific topic.