CVE-2024-56568 in Linux
Résumé
par VulDB • 24/06/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
iommu/arm-smmu : Reporter l'initialisation (probe) des clients après la liaison du périphérique SMMU
Une déréférencement de pointeur null se produit en raison d'une condition de course entre le processus d'initialisation du pilote SMMU et celui du pilote client, lorsque of_dma_configure() est appelé pour le client après l'exécution de iommu_device_register() lors de l'initialisation du pilote SMMU, mais avant que driver_bound() ne soit invoqué pour ce même pilote.
Voici comment la condition de course se produit :
T1: Initialisation (probe) du périphérique Smmu T2: Initialisation (probe) du périphérique client
really_probe() arm_smmu_device_probe() iommu_device_register() really_probe() platform_dma_configure() of_dma_configure() of_dma_configure_id() of_iommu_configure() iommu_probe_device() iommu_init_device() arm_smmu_probe_device() arm_smmu_get_by_fwnode() driver_find_device_by_fwnode() driver_find_device() next_device() klist_next() /* pointeur null assigné à smmu */ /* déréférencement de pointeur null lors de l'accès à smmu->streamid_mask */ driver_bound() klist_add_tail()
Lorsque ce pointeur SMMU nul est ultérieurement déréférencé dans arm_smmu_probe_device, le périphérique provoque un plantage.
Correction : reporter l'initialisation (probe) du périphérique client jusqu'à ce que le périphérique SMMU soit lié au pilote ARM SMMU.
[will: Ajouter un commentaire]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.