First published: Fri Dec 27 2024(Updated: )
In the Linux kernel, the following vulnerability has been resolved: iommu/arm-smmu: Defer probe of clients after smmu device bound Null pointer dereference occurs due to a race between smmu driver probe and client driver probe, when of_dma_configure() for client is called after the iommu_device_register() for smmu driver probe has executed but before the driver_bound() for smmu driver has been called. Following is how the race occurs: T1:Smmu device probe T2: Client device probe 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() /* null ptr assigned to smmu */ /* null ptr dereference while smmu->streamid_mask */ driver_bound() klist_add_tail() When this null smmu pointer is dereferenced later in arm_smmu_probe_device, the device crashes. Fix this by deferring the probe of the client device until the smmu device has bound to the arm smmu driver. [will: Add comment]
Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Software | Affected Version | How to fix |
---|---|---|
Linux Kernel | ||
Linux Kernel | >=4.9<5.10.231 | |
Linux Kernel | >=5.11<5.15.174 | |
Linux Kernel | >=5.16<6.1.120 | |
Linux Kernel | >=6.2<6.6.66 | |
Linux Kernel | >=6.7<6.12.4 | |
debian/linux | <=5.10.223-1 | 5.10.234-1 6.1.129-1 6.1.128-1 6.12.21-1 |
debian/linux-6.1 | 6.1.129-1~deb11u1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2024-56568 has a high severity due to its potential for causing null pointer dereference leading to system instability.
CVE-2024-56568 affects Linux kernel versions between 4.9 and 5.10.231, 5.11 and 5.15.174, 5.16 and 6.1.120, 6.2 and 6.6.66, as well as 6.7 and 6.12.4.
To fix CVE-2024-56568, update your Linux kernel to a version that is not affected, ensuring you choose a version above 6.12.4.
CVE-2024-56568 is caused by a race condition between the SMMU driver probe and client driver probe, leading to a null pointer dereference.
Currently, there are no recommended workarounds for CVE-2024-56568 other than updating to a safe kernel version.