CVE-2024-36925: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: swiotlb: initialise restricted pool list_head when SWIOTLB_DYNAMIC=y Using restricted DMA pools (CONFIG_DMA_RESTRICTED_POOL=y) in conjunction with dynamic SWIOTLB (CONFIG_SWIOTLB_DYNAMIC=y) leads to the following crash when initialising the restricted pools at boot-time: | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 | Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP | pc : rmem_swiotlb_device_init+0xfc/0x1ec | lr : rmem_swiotlb_device_init+0xf0/0x1ec | Call trace: | rmem_swiotlb_device_init+0xfc/0x1ec | of_reserved_mem_device_init_by_idx+0x18c/0x238 | of_dma_configure_id+0x31c/0x33c | platform_dma_configure+0x34/0x80 faddr2line reveals that the crash is in the list validation code: include/linux/list.h:83 include/linux/rculist.h:79 include/linux/rculist.h:106 kernel/dma/swiotlb.c:306 kernel/dma/swiotlb.c:1695 because add_mem_pool() is trying to list_add_rcu() to a NULL 'mem->pools'. Fix the crash by initialising the 'mem->pools' list_head in rmem_swiotlb_device_init() before calling add_mem_pool().
AI Analysis
Technical Summary
CVE-2024-36925 is a vulnerability identified in the Linux kernel related to the handling of restricted DMA pools when used in conjunction with dynamic SWIOTLB (Software Input/Output Translation Lookaside Buffer). Specifically, the issue arises when the kernel is configured with CONFIG_DMA_RESTRICTED_POOL=y and CONFIG_SWIOTLB_DYNAMIC=y. During the boot process, the initialization of restricted DMA pools leads to a NULL pointer dereference crash. The root cause is that the 'mem->pools' list_head is not properly initialized before it is used in the add_mem_pool() function, which attempts to add an entry to this list using list_add_rcu(). This results in a kernel oops and system crash, as evidenced by the stack trace pointing to rmem_swiotlb_device_init and related functions. The problem is located in kernel/dma/swiotlb.c and involves list validation code in include/linux/list.h and include/linux/rculist.h. The fix involves initializing the 'mem->pools' list_head in rmem_swiotlb_device_init() before any additions are made to the list, preventing the NULL pointer dereference and subsequent crash. This vulnerability affects Linux kernel versions identified by the provided commit hashes and was published on May 30, 2024. There are no known exploits in the wild at this time, and no CVSS score has been assigned yet.
Potential Impact
For European organizations, this vulnerability primarily poses a risk of system instability and denial of service (DoS) due to kernel crashes during boot when the affected configurations are used. Systems relying on restricted DMA pools with dynamic SWIOTLB enabled may fail to start or reboot properly, leading to potential downtime and disruption of critical services. This is particularly impactful for environments running customized or embedded Linux kernels with these specific configurations, such as telecommunications infrastructure, industrial control systems, and certain cloud or data center environments that utilize advanced DMA configurations for performance or security reasons. While the vulnerability does not directly lead to privilege escalation or data leakage, the availability impact can be significant, especially in high-availability or real-time systems. The absence of known exploits reduces immediate risk, but unpatched systems remain vulnerable to accidental crashes or potential targeted attacks exploiting this flaw.
Mitigation Recommendations
European organizations should take the following specific actions: 1) Identify Linux systems running kernels with CONFIG_DMA_RESTRICTED_POOL=y and CONFIG_SWIOTLB_DYNAMIC=y enabled, especially those using custom or embedded kernel builds. 2) Apply the official Linux kernel patch that initializes the 'mem->pools' list_head in rmem_swiotlb_device_init() as soon as it becomes available from trusted sources or kernel maintainers. 3) For systems where immediate patching is not feasible, consider disabling either CONFIG_DMA_RESTRICTED_POOL or CONFIG_SWIOTLB_DYNAMIC if operationally acceptable, to avoid triggering the vulnerable code path. 4) Implement robust boot-time monitoring and automated recovery mechanisms to detect and remediate kernel crashes promptly. 5) Engage with hardware and software vendors to ensure updated kernel versions are provided for affected devices. 6) Conduct thorough testing of updated kernels in staging environments to confirm stability before deployment. 7) Maintain inventory and configuration management to track affected kernel versions and configurations across the organization.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain
CVE-2024-36925: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: swiotlb: initialise restricted pool list_head when SWIOTLB_DYNAMIC=y Using restricted DMA pools (CONFIG_DMA_RESTRICTED_POOL=y) in conjunction with dynamic SWIOTLB (CONFIG_SWIOTLB_DYNAMIC=y) leads to the following crash when initialising the restricted pools at boot-time: | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 | Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP | pc : rmem_swiotlb_device_init+0xfc/0x1ec | lr : rmem_swiotlb_device_init+0xf0/0x1ec | Call trace: | rmem_swiotlb_device_init+0xfc/0x1ec | of_reserved_mem_device_init_by_idx+0x18c/0x238 | of_dma_configure_id+0x31c/0x33c | platform_dma_configure+0x34/0x80 faddr2line reveals that the crash is in the list validation code: include/linux/list.h:83 include/linux/rculist.h:79 include/linux/rculist.h:106 kernel/dma/swiotlb.c:306 kernel/dma/swiotlb.c:1695 because add_mem_pool() is trying to list_add_rcu() to a NULL 'mem->pools'. Fix the crash by initialising the 'mem->pools' list_head in rmem_swiotlb_device_init() before calling add_mem_pool().
AI-Powered Analysis
Technical Analysis
CVE-2024-36925 is a vulnerability identified in the Linux kernel related to the handling of restricted DMA pools when used in conjunction with dynamic SWIOTLB (Software Input/Output Translation Lookaside Buffer). Specifically, the issue arises when the kernel is configured with CONFIG_DMA_RESTRICTED_POOL=y and CONFIG_SWIOTLB_DYNAMIC=y. During the boot process, the initialization of restricted DMA pools leads to a NULL pointer dereference crash. The root cause is that the 'mem->pools' list_head is not properly initialized before it is used in the add_mem_pool() function, which attempts to add an entry to this list using list_add_rcu(). This results in a kernel oops and system crash, as evidenced by the stack trace pointing to rmem_swiotlb_device_init and related functions. The problem is located in kernel/dma/swiotlb.c and involves list validation code in include/linux/list.h and include/linux/rculist.h. The fix involves initializing the 'mem->pools' list_head in rmem_swiotlb_device_init() before any additions are made to the list, preventing the NULL pointer dereference and subsequent crash. This vulnerability affects Linux kernel versions identified by the provided commit hashes and was published on May 30, 2024. There are no known exploits in the wild at this time, and no CVSS score has been assigned yet.
Potential Impact
For European organizations, this vulnerability primarily poses a risk of system instability and denial of service (DoS) due to kernel crashes during boot when the affected configurations are used. Systems relying on restricted DMA pools with dynamic SWIOTLB enabled may fail to start or reboot properly, leading to potential downtime and disruption of critical services. This is particularly impactful for environments running customized or embedded Linux kernels with these specific configurations, such as telecommunications infrastructure, industrial control systems, and certain cloud or data center environments that utilize advanced DMA configurations for performance or security reasons. While the vulnerability does not directly lead to privilege escalation or data leakage, the availability impact can be significant, especially in high-availability or real-time systems. The absence of known exploits reduces immediate risk, but unpatched systems remain vulnerable to accidental crashes or potential targeted attacks exploiting this flaw.
Mitigation Recommendations
European organizations should take the following specific actions: 1) Identify Linux systems running kernels with CONFIG_DMA_RESTRICTED_POOL=y and CONFIG_SWIOTLB_DYNAMIC=y enabled, especially those using custom or embedded kernel builds. 2) Apply the official Linux kernel patch that initializes the 'mem->pools' list_head in rmem_swiotlb_device_init() as soon as it becomes available from trusted sources or kernel maintainers. 3) For systems where immediate patching is not feasible, consider disabling either CONFIG_DMA_RESTRICTED_POOL or CONFIG_SWIOTLB_DYNAMIC if operationally acceptable, to avoid triggering the vulnerable code path. 4) Implement robust boot-time monitoring and automated recovery mechanisms to detect and remediate kernel crashes promptly. 5) Engage with hardware and software vendors to ensure updated kernel versions are provided for affected devices. 6) Conduct thorough testing of updated kernels in staging environments to confirm stability before deployment. 7) Maintain inventory and configuration management to track affected kernel versions and configurations across the organization.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-05-30T15:25:07.069Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9828c4522896dcbe26ca
Added to database: 5/21/2025, 9:08:56 AM
Last enriched: 6/29/2025, 10:12:09 AM
Last updated: 8/7/2025, 4:58:11 AM
Views: 13
Related Threats
CVE-2025-8081: CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in elemntor Elementor Website Builder – More Than Just a Page Builder
MediumCVE-2025-6253: CWE-862 Missing Authorization in uicore UiCore Elements – Free Elementor widgets and templates
HighCVE-2025-3892: CWE-250: Execution with Unnecessary Privileges in Axis Communications AB AXIS OS
MediumCVE-2025-30027: CWE-1287: Improper Validation of Specified Type of Input in Axis Communications AB AXIS OS
MediumCVE-2025-7622: CWE-918: Server-Side Request Forgery (SSRF) in Axis Communications AB AXIS Camera Station Pro
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.