CVE-2025-38445: md/raid1: Fix stack memory use after return in raid1_reshape
In the Linux kernel, the following vulnerability has been resolved:
md/raid1: Fix stack memory use after return in raid1reshape
In the raid1reshape function, newpool is allocated on the stack and assigned to conf->r1biopool. This results in conf->r1biopool.wait.head pointing to a stack address. Accessing this address later can lead to a kernel panic.
Example access path:
raid1reshape() { // newpool is on the stack mempoolt newpool, oldpool; // initialize newpool.wait.head to stack address mempoolinit(&newpool, ...); conf->r1biopool = newpool; }
raid1readrequest() or raid1writerequest() { allocr1bio() { mempoolalloc() { // if pool->alloc fails removeelement() { --pool->currnr; } } } }
mempoolfree() { if (pool->currnr < pool->minnr) { // pool->wait.head is a stack address // wakeup() will try to access this invalid address // which leads to a kernel panic return; wakeup(&pool->wait); } }
Fix: reinit conf->r1biopool.wait after assigning newpool.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1 - Compensating control
In md/raid1 raid1_reshape(), reinitialize conf->r1bio_pool.wait after assigning the stack-allocated newpool to conf->r1bio_pool, so conf->r1bio_pool.wait.head does not retain a stack address.
Event History
Frequently Asked Questions
What is the severity of CVE-2025-38445?
CVE-2025-38445 is classified as a high severity vulnerability due to potential exploitation risks in the Linux kernel.
How do I fix CVE-2025-38445?
To fix CVE-2025-38445, update the Linux kernel to the latest version that includes the patch for this vulnerability.
What components are affected by CVE-2025-38445?
CVE-2025-38445 affects the RAID functionality in the Linux kernel, specifically within the md/raid1 module.
What is the primary issue caused by CVE-2025-38445?
The primary issue is the use of stack memory after return, which can lead to undefined behavior and potential system instability.
Is CVE-2025-38445 remotely exploitable?
CVE-2025-38445 is not known to be remotely exploitable but can impact systems running vulnerable versions of the Linux kernel.