Skip to main content

CVE-2024-56787: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-56787cvecve-2024-56787
Published: Wed Jan 08 2025 (01/08/2025, 17:52:03 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: soc: imx8m: Probe the SoC driver as platform driver With driver_async_probe=* on kernel command line, the following trace is produced because on i.MX8M Plus hardware because the soc-imx8m.c driver calls of_clk_get_by_name() which returns -EPROBE_DEFER because the clock driver is not yet probed. This was not detected during regular testing without driver_async_probe. Convert the SoC code to platform driver and instantiate a platform device in its current device_initcall() to probe the platform driver. Rework .soc_revision callback to always return valid error code and return SoC revision via parameter. This way, if anything in the .soc_revision callback return -EPROBE_DEFER, it gets propagated to .probe and the .probe will get retried later. " ------------[ cut here ]------------ WARNING: CPU: 1 PID: 1 at drivers/soc/imx/soc-imx8m.c:115 imx8mm_soc_revision+0xdc/0x180 CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.11.0-next-20240924-00002-g2062bb554dea #603 Hardware name: DH electronics i.MX8M Plus DHCOM Premium Developer Kit (3) (DT) pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : imx8mm_soc_revision+0xdc/0x180 lr : imx8mm_soc_revision+0xd0/0x180 sp : ffff8000821fbcc0 x29: ffff8000821fbce0 x28: 0000000000000000 x27: ffff800081810120 x26: ffff8000818a9970 x25: 0000000000000006 x24: 0000000000824311 x23: ffff8000817f42c8 x22: ffff0000df8be210 x21: fffffffffffffdfb x20: ffff800082780000 x19: 0000000000000001 x18: ffffffffffffffff x17: ffff800081fff418 x16: ffff8000823e1000 x15: ffff0000c03b65e8 x14: ffff0000c00051b0 x13: ffff800082790000 x12: 0000000000000801 x11: ffff80008278ffff x10: ffff80008209d3a6 x9 : ffff80008062e95c x8 : ffff8000821fb9a0 x7 : 0000000000000000 x6 : 00000000000080e3 x5 : ffff0000df8c03d8 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 0000000000000000 x1 : fffffffffffffdfb x0 : fffffffffffffdfb Call trace: imx8mm_soc_revision+0xdc/0x180 imx8_soc_init+0xb0/0x1e0 do_one_initcall+0x94/0x1a8 kernel_init_freeable+0x240/0x2a8 kernel_init+0x28/0x140 ret_from_fork+0x10/0x20 ---[ end trace 0000000000000000 ]--- SoC: i.MX8MP revision 1.1 "

AI-Powered Analysis

AILast updated: 06/28/2025, 08:10:19 UTC

Technical Analysis

CVE-2024-56787 is a vulnerability identified in the Linux kernel specifically affecting the System on Chip (SoC) driver for the NXP i.MX8M Plus platform. The issue arises due to improper handling of driver probing sequences when the kernel is booted with the 'driver_async_probe=*' parameter. In this scenario, the soc-imx8m.c driver calls the function of_clk_get_by_name(), which attempts to retrieve a clock resource. However, because the clock driver has not yet been probed, this call returns the error code -EPROBE_DEFER, indicating that the probe should be deferred until the clock driver is ready. The original implementation did not properly handle this deferred probe condition, leading to a kernel warning and potential instability during system initialization on affected hardware. The root cause is that the SoC driver was not implemented as a platform driver, which is the recommended approach for handling hardware components that depend on other drivers. The fix involves converting the SoC code to a platform driver model and instantiating a platform device during device initialization. This change ensures that if the .soc_revision callback returns -EPROBE_DEFER, the error propagates correctly to the .probe function, which will then retry probing later, preventing premature failures. This correction improves the robustness of the driver initialization process and prevents kernel warnings or crashes related to deferred probing on i.MX8M Plus hardware. This vulnerability is specific to the Linux kernel versions containing the affected commit (identified by the given commit hash) and impacts devices using the i.MX8M Plus SoC, commonly found in embedded systems and specialized hardware platforms. There are no known exploits in the wild at this time, and the issue primarily affects system stability and reliability during boot rather than direct security compromise.

Potential Impact

For European organizations, the impact of CVE-2024-56787 is primarily related to operational stability and reliability of embedded systems running Linux kernels with the affected i.MX8M Plus SoC driver. Many industrial control systems, IoT devices, and specialized hardware used in sectors such as manufacturing, automotive, telecommunications, and critical infrastructure may incorporate this SoC. A failure to properly handle deferred probing could lead to kernel warnings, boot delays, or in worst cases, system crashes during initialization, potentially causing downtime or degraded service availability. While this vulnerability does not directly expose confidentiality or integrity risks, the availability impact on embedded devices could disrupt automated processes or services relying on these systems. European organizations deploying Linux-based embedded devices with i.MX8M Plus hardware should be aware of this issue to avoid unexpected system behavior. Given the lack of known exploits, the threat is more operational than adversarial, but unpatched systems could face increased maintenance overhead or instability.

Mitigation Recommendations

To mitigate CVE-2024-56787, organizations should: 1. Update the Linux kernel to a version that includes the fix converting the i.MX8M Plus SoC driver to a platform driver model. This ensures proper handling of deferred probes and prevents kernel warnings or crashes. 2. For embedded device manufacturers or integrators, rebuild device firmware with the patched kernel and thoroughly test boot sequences on i.MX8M Plus hardware to confirm stability. 3. Avoid using the 'driver_async_probe=*' kernel command line parameter unless necessary, as it triggers the asynchronous probing behavior that exposes this issue. 4. Monitor kernel logs for warnings related to imx8mm_soc_revision or probe deferrals to detect potential issues early. 5. Implement robust update mechanisms for embedded devices to facilitate timely deployment of kernel patches. 6. Engage with hardware vendors to confirm that their Linux BSPs (Board Support Packages) incorporate this fix. These steps go beyond generic advice by focusing on kernel version management, device-specific testing, and operational monitoring tailored to the affected SoC platform.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-12-29T11:26:39.770Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9822c4522896dcbde82f

Added to database: 5/21/2025, 9:08:50 AM

Last enriched: 6/28/2025, 8:10:19 AM

Last updated: 8/16/2025, 4:54:14 PM

Views: 15

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats