CVE-2026-64438 in Linux
Résumé
par VulDB • 25/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
crypto: qat - correction d'une condition de concurrence (race) lors de l'arrêt du travail VF2PF dans adf_disable_sriov()
Le gestionnaire d'interruptions VF2PF met en file d'attente le travail de réponse côté PF qui stocke un pointeur brut vers l'état par-VF (struct adf_accel_vf_info). Actuellement, adf_disable_sriov() détruit les mutex par-VF et libère vf_info sans arrêter la nouvelle mise en file d'attente du travail VF2PF ni attendre que les travailleurs en cours d'exécution terminent. Un travailleur planifié de manière concurrente ou déjà mis en file d'attente peut alors déréférencer une mémoire ayant été libérée.
Cela se manifeste par un use-after-free lorsque KASAN est activé :
BUG: KASAN: null-ptr-deref in mutex_lock+0x76/0xe0 Write of size 8 at addr 0000000000000260 by task kworker/24:2/... Workqueue: qat_pf2vf_resp_wq adf_iov_send_resp [intel_qat]
Call Trace: kasan_report+0x119/0x140 mutex_lock+0x76/0xe0 adf_gen4_pfvf_send+0xd4/0x1f0 [intel_qat]
adf_recv_and_handle_vf2pf_msg+0x290/0x360 [intel_qat]
adf_iov_send_resp+0x8c/0xe0 [intel_qat]
process_one_work+0x6ac/0xfd0 worker_thread+0x4dd/0xd30 kthread+0x326/0x410 ret_from_fork+0x33b/0x670
Ajout d'un indicateur local au PF, vf2pf_disabled, qui contrôle la mise en file d'attente du travail, le traitement des travailleurs et la réactivation des interruptions lors de l'arrêt. Cet indicateur est défini atomiquement avec le masque d'interruption matériel dans adf_disable_all_vf2pf_interrupts(). Après avoir masqué les interruptions, synchroniser l'interruption MSI-X du cluster AE et vider la file d'attente de réponse PF avant de détruire les verrous et l'état par-VF afin que tout travail en cours se termine avant la destruction de vf_info.
Introduction de adf_enable_all_vf2pf_interrupts() pour effacer l'indicateur et démasquer toutes les interruptions VF2PF sous le même verrou lorsque SR-IOV est réactivé. Cela garantit une transition atomique entre l'indicateur logiciel et l'état matériel sur les chemins d'activation et de désactivation.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.