CVE-2025-37960: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: memblock: Accept allocated memory before use in memblock_double_array() When increasing the array size in memblock_double_array() and the slab is not yet available, a call to memblock_find_in_range() is used to reserve/allocate memory. However, the range returned may not have been accepted, which can result in a crash when booting an SNP guest: RIP: 0010:memcpy_orig+0x68/0x130 Code: ... RSP: 0000:ffffffff9cc03ce8 EFLAGS: 00010006 RAX: ff11001ff83e5000 RBX: 0000000000000000 RCX: fffffffffffff000 RDX: 0000000000000bc0 RSI: ffffffff9dba8860 RDI: ff11001ff83e5c00 RBP: 0000000000002000 R08: 0000000000000000 R09: 0000000000002000 R10: 000000207fffe000 R11: 0000040000000000 R12: ffffffff9d06ef78 R13: ff11001ff83e5000 R14: ffffffff9dba7c60 R15: 0000000000000c00 memblock_double_array+0xff/0x310 memblock_add_range+0x1fb/0x2f0 memblock_reserve+0x4f/0xa0 memblock_alloc_range_nid+0xac/0x130 memblock_alloc_internal+0x53/0xc0 memblock_alloc_try_nid+0x3d/0xa0 swiotlb_init_remap+0x149/0x2f0 mem_init+0xb/0xb0 mm_core_init+0x8f/0x350 start_kernel+0x17e/0x5d0 x86_64_start_reservations+0x14/0x30 x86_64_start_kernel+0x92/0xa0 secondary_startup_64_no_verify+0x194/0x19b Mitigate this by calling accept_memory() on the memory range returned before the slab is available. Prior to v6.12, the accept_memory() interface used a 'start' and 'end' parameter instead of 'start' and 'size', therefore the accept_memory() call must be adjusted to specify 'start + size' for 'end' when applying to kernels prior to v6.12.
AI Analysis
Technical Summary
CVE-2025-37960 is a vulnerability identified in the Linux kernel's memory management subsystem, specifically within the memblock allocator. The issue arises in the function memblock_double_array(), which is responsible for increasing the size of an internal array used for memory allocation during early boot stages. When the slab allocator is not yet initialized, memblock_double_array() calls memblock_find_in_range() to reserve or allocate memory. However, the memory range returned by memblock_find_in_range() may not have been formally accepted by the system via accept_memory(), leading to a scenario where the kernel attempts to use unaccepted memory. This improper handling can cause a crash during the boot process, particularly affecting Secure Nested Paging (SNP) guests, which are virtual machines with enhanced security features. The crash manifests as a kernel panic or fatal error during memcpy operations, as indicated by the provided stack trace. The root cause is that the memory range is used before it is officially accepted, violating kernel memory management protocols. The mitigation involves ensuring that accept_memory() is called on the allocated memory range before the slab allocator becomes available, thereby formally accepting the memory and preventing the crash. Notably, the accept_memory() interface changed in Linux kernel version 6.12, switching from 'start' and 'end' parameters to 'start' and 'size'. Therefore, patches must account for this difference to maintain compatibility with kernels prior to v6.12. This vulnerability affects Linux kernel versions prior to the fix and is particularly relevant for environments running SNP-enabled virtual machines or similar configurations relying on early boot memory allocations. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to systems running affected Linux kernel versions, especially those utilizing virtualization technologies with SNP support, such as AMD SEV-SNP. The impact is a potential denial of service (DoS) through kernel crashes during system boot, which can disrupt availability of critical infrastructure, cloud services, and virtualized environments. Organizations relying on Linux-based servers, cloud platforms, or embedded systems with affected kernels may experience unexpected downtime or require emergency patching. Although this vulnerability does not directly lead to privilege escalation or data leakage, the inability to boot virtual machines or hosts can cause significant operational disruption. In sectors such as finance, healthcare, telecommunications, and government—where Linux servers and virtualization are widely deployed—this could affect service continuity and compliance with uptime requirements. Additionally, the complexity of the fix and kernel version dependencies may delay patch deployment, increasing exposure time. Since the vulnerability affects early boot memory management, recovery may require manual intervention or system reboots, complicating incident response. Overall, the threat is significant for European enterprises with large-scale Linux virtualization deployments or those using SNP-enabled hardware for enhanced security.
Mitigation Recommendations
1. Immediate patching: Apply the official Linux kernel patches that ensure accept_memory() is called on the allocated memory range before slab allocator initialization. Verify kernel versions and apply backported fixes if using older kernels. 2. Kernel version management: Maintain an inventory of Linux kernel versions in use, prioritizing updates for systems running kernels prior to v6.12 or those known to be affected. 3. Virtualization environment review: Audit virtual machine configurations, especially those using SNP features, to identify vulnerable hosts. Consider temporarily disabling SNP or related features if patching is delayed and operational impact is critical. 4. Boot process monitoring: Implement monitoring to detect kernel panics or boot failures related to memblock or memory allocation issues, enabling rapid detection of exploitation attempts or crashes. 5. Testing and validation: Before deploying patches in production, conduct thorough testing in staging environments to ensure compatibility and stability, given the low-level nature of the fix. 6. Incident response readiness: Prepare recovery procedures for affected systems, including rescue boot options and kernel rollback plans, to minimize downtime in case of crashes. 7. Collaboration with vendors: Engage with Linux distribution maintainers and hardware vendors to obtain timely patches and guidance, especially for embedded or specialized systems. 8. Documentation and training: Educate system administrators and DevOps teams about the vulnerability, its impact, and the importance of early memory acceptance in kernel boot processes to improve awareness and response.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain
CVE-2025-37960: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: memblock: Accept allocated memory before use in memblock_double_array() When increasing the array size in memblock_double_array() and the slab is not yet available, a call to memblock_find_in_range() is used to reserve/allocate memory. However, the range returned may not have been accepted, which can result in a crash when booting an SNP guest: RIP: 0010:memcpy_orig+0x68/0x130 Code: ... RSP: 0000:ffffffff9cc03ce8 EFLAGS: 00010006 RAX: ff11001ff83e5000 RBX: 0000000000000000 RCX: fffffffffffff000 RDX: 0000000000000bc0 RSI: ffffffff9dba8860 RDI: ff11001ff83e5c00 RBP: 0000000000002000 R08: 0000000000000000 R09: 0000000000002000 R10: 000000207fffe000 R11: 0000040000000000 R12: ffffffff9d06ef78 R13: ff11001ff83e5000 R14: ffffffff9dba7c60 R15: 0000000000000c00 memblock_double_array+0xff/0x310 memblock_add_range+0x1fb/0x2f0 memblock_reserve+0x4f/0xa0 memblock_alloc_range_nid+0xac/0x130 memblock_alloc_internal+0x53/0xc0 memblock_alloc_try_nid+0x3d/0xa0 swiotlb_init_remap+0x149/0x2f0 mem_init+0xb/0xb0 mm_core_init+0x8f/0x350 start_kernel+0x17e/0x5d0 x86_64_start_reservations+0x14/0x30 x86_64_start_kernel+0x92/0xa0 secondary_startup_64_no_verify+0x194/0x19b Mitigate this by calling accept_memory() on the memory range returned before the slab is available. Prior to v6.12, the accept_memory() interface used a 'start' and 'end' parameter instead of 'start' and 'size', therefore the accept_memory() call must be adjusted to specify 'start + size' for 'end' when applying to kernels prior to v6.12.
AI-Powered Analysis
Technical Analysis
CVE-2025-37960 is a vulnerability identified in the Linux kernel's memory management subsystem, specifically within the memblock allocator. The issue arises in the function memblock_double_array(), which is responsible for increasing the size of an internal array used for memory allocation during early boot stages. When the slab allocator is not yet initialized, memblock_double_array() calls memblock_find_in_range() to reserve or allocate memory. However, the memory range returned by memblock_find_in_range() may not have been formally accepted by the system via accept_memory(), leading to a scenario where the kernel attempts to use unaccepted memory. This improper handling can cause a crash during the boot process, particularly affecting Secure Nested Paging (SNP) guests, which are virtual machines with enhanced security features. The crash manifests as a kernel panic or fatal error during memcpy operations, as indicated by the provided stack trace. The root cause is that the memory range is used before it is officially accepted, violating kernel memory management protocols. The mitigation involves ensuring that accept_memory() is called on the allocated memory range before the slab allocator becomes available, thereby formally accepting the memory and preventing the crash. Notably, the accept_memory() interface changed in Linux kernel version 6.12, switching from 'start' and 'end' parameters to 'start' and 'size'. Therefore, patches must account for this difference to maintain compatibility with kernels prior to v6.12. This vulnerability affects Linux kernel versions prior to the fix and is particularly relevant for environments running SNP-enabled virtual machines or similar configurations relying on early boot memory allocations. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to systems running affected Linux kernel versions, especially those utilizing virtualization technologies with SNP support, such as AMD SEV-SNP. The impact is a potential denial of service (DoS) through kernel crashes during system boot, which can disrupt availability of critical infrastructure, cloud services, and virtualized environments. Organizations relying on Linux-based servers, cloud platforms, or embedded systems with affected kernels may experience unexpected downtime or require emergency patching. Although this vulnerability does not directly lead to privilege escalation or data leakage, the inability to boot virtual machines or hosts can cause significant operational disruption. In sectors such as finance, healthcare, telecommunications, and government—where Linux servers and virtualization are widely deployed—this could affect service continuity and compliance with uptime requirements. Additionally, the complexity of the fix and kernel version dependencies may delay patch deployment, increasing exposure time. Since the vulnerability affects early boot memory management, recovery may require manual intervention or system reboots, complicating incident response. Overall, the threat is significant for European enterprises with large-scale Linux virtualization deployments or those using SNP-enabled hardware for enhanced security.
Mitigation Recommendations
1. Immediate patching: Apply the official Linux kernel patches that ensure accept_memory() is called on the allocated memory range before slab allocator initialization. Verify kernel versions and apply backported fixes if using older kernels. 2. Kernel version management: Maintain an inventory of Linux kernel versions in use, prioritizing updates for systems running kernels prior to v6.12 or those known to be affected. 3. Virtualization environment review: Audit virtual machine configurations, especially those using SNP features, to identify vulnerable hosts. Consider temporarily disabling SNP or related features if patching is delayed and operational impact is critical. 4. Boot process monitoring: Implement monitoring to detect kernel panics or boot failures related to memblock or memory allocation issues, enabling rapid detection of exploitation attempts or crashes. 5. Testing and validation: Before deploying patches in production, conduct thorough testing in staging environments to ensure compatibility and stability, given the low-level nature of the fix. 6. Incident response readiness: Prepare recovery procedures for affected systems, including rescue boot options and kernel rollback plans, to minimize downtime in case of crashes. 7. Collaboration with vendors: Engage with Linux distribution maintainers and hardware vendors to obtain timely patches and guidance, especially for embedded or specialized systems. 8. Documentation and training: Educate system administrators and DevOps teams about the vulnerability, its impact, and the importance of early memory acceptance in kernel boot processes to improve awareness and response.
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
- 2025-04-16T04:51:23.974Z
- Cisa Enriched
- false
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682cd0f71484d88663aeae96
Added to database: 5/20/2025, 6:59:03 PM
Last enriched: 7/3/2025, 6:57:44 PM
Last updated: 8/18/2025, 11:28:20 PM
Views: 16
Related Threats
CVE-2025-57788: CWE-259: Use of Hard-coded Password in Commvault CommCell
MediumCVE-2025-57791: CWE-88: Improper Neutralization of Argument Delimiters in a Command in Commvault CommCell
MediumCVE-2025-57790: CWE-36: Absolute Path Traversal in Commvault CommCell
HighCVE-2025-57789: CWE-257: Storing Passwords in a Recoverable Format in Commvault CommCell
MediumCVE-2025-54364: CWE-1333 Inefficient Regular Expression Complexity in Microsoft Knack
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.