lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025072503-CVE-2025-38445-7295@gregkh>
Date: Fri, 25 Jul 2025 17:28:07 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-38445: md/raid1: Fix stack memory use after return in raid1_reshape

From: Greg Kroah-Hartman <gregkh@...nel.org>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

md/raid1: Fix stack memory use after return in raid1_reshape

In the raid1_reshape function, newpool is
allocated on the stack and assigned to conf->r1bio_pool.
This results in conf->r1bio_pool.wait.head pointing
to a stack address.
Accessing this address later can lead to a kernel panic.

Example access path:

raid1_reshape()
{
	// newpool is on the stack
	mempool_t newpool, oldpool;
	// initialize newpool.wait.head to stack address
	mempool_init(&newpool, ...);
	conf->r1bio_pool = newpool;
}

raid1_read_request() or raid1_write_request()
{
	alloc_r1bio()
	{
		mempool_alloc()
		{
			// if pool->alloc fails
			remove_element()
			{
				--pool->curr_nr;
			}
		}
	}
}

mempool_free()
{
	if (pool->curr_nr < pool->min_nr) {
		// pool->wait.head is a stack address
		// wake_up() will try to access this invalid address
		// which leads to a kernel panic
		return;
		wake_up(&pool->wait);
	}
}

Fix:
reinit conf->r1bio_pool.wait after assigning newpool.

The Linux kernel CVE team has assigned CVE-2025-38445 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 4.18 with commit afeee514ce7f4cab605beedd03be71ebaf0c5fc8 and fixed in 5.4.296 with commit d8a6853d00fbaa810765c8ed2f452a5832273968
	Issue introduced in 4.18 with commit afeee514ce7f4cab605beedd03be71ebaf0c5fc8 and fixed in 5.10.240 with commit 12b00ec99624f8da8c325f2dd6e807df26df0025
	Issue introduced in 4.18 with commit afeee514ce7f4cab605beedd03be71ebaf0c5fc8 and fixed in 5.15.189 with commit 48da050b4f54ed639b66278d0ae6f4107b2c4e2d
	Issue introduced in 4.18 with commit afeee514ce7f4cab605beedd03be71ebaf0c5fc8 and fixed in 6.1.146 with commit 5f35e48b76655e45522df338876dfef88dafcc71
	Issue introduced in 4.18 with commit afeee514ce7f4cab605beedd03be71ebaf0c5fc8 and fixed in 6.6.99 with commit df5894014a92ff0196dbc212a7764e97366fd2b7
	Issue introduced in 4.18 with commit afeee514ce7f4cab605beedd03be71ebaf0c5fc8 and fixed in 6.12.39 with commit 776e6186dc9ecbdb8a1b706e989166c8a99bbf64
	Issue introduced in 4.18 with commit afeee514ce7f4cab605beedd03be71ebaf0c5fc8 and fixed in 6.15.7 with commit 61fd5e93006cf82ec8ee5c115ab5cf4bbd104bdb
	Issue introduced in 4.18 with commit afeee514ce7f4cab605beedd03be71ebaf0c5fc8 and fixed in 6.16-rc6 with commit d67ed2ccd2d1dcfda9292c0ea8697a9d0f2f0d98

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2025-38445
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/md/raid1.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/d8a6853d00fbaa810765c8ed2f452a5832273968
	https://git.kernel.org/stable/c/12b00ec99624f8da8c325f2dd6e807df26df0025
	https://git.kernel.org/stable/c/48da050b4f54ed639b66278d0ae6f4107b2c4e2d
	https://git.kernel.org/stable/c/5f35e48b76655e45522df338876dfef88dafcc71
	https://git.kernel.org/stable/c/df5894014a92ff0196dbc212a7764e97366fd2b7
	https://git.kernel.org/stable/c/776e6186dc9ecbdb8a1b706e989166c8a99bbf64
	https://git.kernel.org/stable/c/61fd5e93006cf82ec8ee5c115ab5cf4bbd104bdb
	https://git.kernel.org/stable/c/d67ed2ccd2d1dcfda9292c0ea8697a9d0f2f0d98

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ