Attacker Value
Unknown
(0 users assessed)
Exploitability
Unknown
(0 users assessed)
User Interaction
None
Privileges Required
Low
Attack Vector
Local
0

CVE-2024-56568

Disclosure Date: December 27, 2024
Add MITRE ATT&CK tactics and techniques that apply to this CVE.

Description

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]

Add Assessment

No one has assessed this topic. Be the first to add your voice to the community.

CVSS V3 Severity and Metrics
Base Score:
4.7 Medium
Impact Score:
3.6
Exploitability Score:
1
Vector:
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector (AV):
Local
Attack Complexity (AC):
High
Privileges Required (PR):
Low
User Interaction (UI):
None
Scope (S):
Unchanged
Confidentiality (C):
None
Integrity (I):
None
Availability (A):
High

General Information

Vendors

Products

Technical Analysis