CVE-2025-38424

perf: Fix sample vs do_exit()

State
Published
Severity
7.8 High
Published
Jul 25, 2025
Updated
Oct 15, 2026
Reserved
Apr 16, 2025

Read the record on cve.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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 to before 7b8f3c72175c6a63a95cf2e219f8b78e2baad34eAffected
  • c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 to before 507c9a595bad3abd107c6a8857d7fd125d89f386Affected
  • c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 to before a9f6aab7910a0ef2895797f15c947f6d1053160fAffected
  • c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 to before 975ffddfa2e19823c719459d2364fcaa17673964Affected
  • c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 to before 2ee6044a693735396bb47eeaba1ac3ae26c1c99bAffected
  • c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 to before 456019adaa2f5366b89c868dea9b483179bece54Affected
  • c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 to before 7311970d07c4606362081250da95f2c7901fc0dbAffected
  • c5ebcedb566ef17bda7b02686e0d658a7bb42ee7 to before 4f6fc782128355931527cefe3eb45338abd8ab39Affected
LinuxLinux
  • 3.7Affected
  • before 3.7Not affected
  • 5.4.295 through 5.4.*Not affected
  • 5.10.239 through 5.10.*Not affected
  • 5.15.186 through 5.15.*Not affected
  • 6.1.142 through 6.1.*Not affected
  • 6.6.95 through 6.6.*Not affected
  • 6.12.35 through 6.12.*Not affected
  • 6.15.4 through 6.15.*Not affected
  • 6.16 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.