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: <2025072555-CVE-2025-38424-500e@gregkh>
Date: Fri, 25 Jul 2025 16:16:57 +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-38424: perf: Fix sample vs do_exit()

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

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

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

perf: Fix sample vs do_exit()

Baisheng Gao reported an ARM64 crash, which Mark decoded as being a
synchronous external abort -- most likely due to trying to access
MMIO in bad ways.

The crash further shows perf trying to do a user stack sample while in
exit_mmap()'s tlb_finish_mmu() -- i.e. while tearing down the address
space it is trying to access.

It turns out that we stop perf after we tear down the userspace mm; a
receipie for disaster, since perf likes to access userspace for
various reasons.

Flip this order by moving up where we stop perf in do_exit().

Additionally, harden PERF_SAMPLE_CALLCHAIN and PERF_SAMPLE_STACK_USER
to abort when the current task does not have an mm (exit_mm() makes
sure to set current->mm = NULL; before commencing with the actual
teardown). Such that CPU wide events don't trip on this same problem.

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


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

	Issue introduced in 3.7 with commit c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 and fixed in 5.4.295 with commit 7b8f3c72175c6a63a95cf2e219f8b78e2baad34e
	Issue introduced in 3.7 with commit c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 and fixed in 5.10.239 with commit 507c9a595bad3abd107c6a8857d7fd125d89f386
	Issue introduced in 3.7 with commit c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 and fixed in 5.15.186 with commit a9f6aab7910a0ef2895797f15c947f6d1053160f
	Issue introduced in 3.7 with commit c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 and fixed in 6.1.142 with commit 975ffddfa2e19823c719459d2364fcaa17673964
	Issue introduced in 3.7 with commit c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 and fixed in 6.6.95 with commit 2ee6044a693735396bb47eeaba1ac3ae26c1c99b
	Issue introduced in 3.7 with commit c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 and fixed in 6.12.35 with commit 456019adaa2f5366b89c868dea9b483179bece54
	Issue introduced in 3.7 with commit c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 and fixed in 6.15.4 with commit 7311970d07c4606362081250da95f2c7901fc0db
	Issue introduced in 3.7 with commit c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 and fixed in 6.16-rc3 with commit 4f6fc782128355931527cefe3eb45338abd8ab39

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-38424
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:
	kernel/events/core.c
	kernel/exit.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/7b8f3c72175c6a63a95cf2e219f8b78e2baad34e
	https://git.kernel.org/stable/c/507c9a595bad3abd107c6a8857d7fd125d89f386
	https://git.kernel.org/stable/c/a9f6aab7910a0ef2895797f15c947f6d1053160f
	https://git.kernel.org/stable/c/975ffddfa2e19823c719459d2364fcaa17673964
	https://git.kernel.org/stable/c/2ee6044a693735396bb47eeaba1ac3ae26c1c99b
	https://git.kernel.org/stable/c/456019adaa2f5366b89c868dea9b483179bece54
	https://git.kernel.org/stable/c/7311970d07c4606362081250da95f2c7901fc0db
	https://git.kernel.org/stable/c/4f6fc782128355931527cefe3eb45338abd8ab39

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ