CVE-2025-21694: fs/proc: fix softlockup in __read_vmcore (part 2)
In the Linux kernel, the following vulnerability has been resolved:
fs/proc: fix softlockup in __read_vmcore (part 2)
Since commit 5cbcb62dddf5 ("fs/proc: fix softlockup in __read_vmcore") the
number of softlockups in __read_vmcore at kdump time have gone down, but
they still happen sometimes.
In a memory constrained environment like the kdump image, a softlockup is
not just a harmless message, but it can interfere with things like RCU
freeing memory, causing the crashdump to get stuck.
The second loop in __read_vmcore has a lot more opportunities for natural
sleep points, like scheduling out while waiting for a data write to
happen, but apparently that is not always enough.
Add a cond_resched() to the second loop in __read_vmcore to (hopefully)
get rid of the softlockups.
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue can make crashdump collection hang during kdump on memory-constrained systems. It is mainly an availability and incident-response reliability problem: after a crash, the system may fail to complete vmcore reading, delaying root-cause analysis.
Executive priority
Treat as a moderate operational resilience issue. Prioritize systems where crash forensics, uptime recovery, or regulated incident response depends on reliable kdump output.
Technical view
The flaw is in fs/proc __read_vmcore. During vmcore reads at kdump time, the second loop may not reschedule often enough, causing softlockups. The upstream fix adds cond_resched() to reduce hangs. CVSS is 5.5 with local, low-complexity, low-privilege availability impact.
Likely exposure
Exposure is most relevant to Linux systems using kdump or vmcore collection, especially memory-constrained crash kernels. The bundle also includes Debian LTS and Siemens advisories, indicating downstream product exposure may depend on vendor kernel packaging.
Exploitation context
The source bundle does not show active exploitation, and KEV is false. The CVSS vector is local and low-privilege, with no confidentiality or integrity impact. Evidence supports denial-of-service or crashdump disruption, not remote compromise.
Researcher notes
The available evidence describes a scheduler fairness fix in __read_vmcore, not a memory corruption or privilege escalation flaw. Affected-version interpretation should be validated against vendor kernel advisories because Linux CVE records often map commits across multiple stable branches.
Mitigation direction
Apply the relevant vendor kernel update for affected Linux branches.
Review Debian LTS and Siemens advisories if those products are in scope.
Use kernel stable commits as branch-specific fix references.
If patching is delayed, check vendor guidance for supported temporary measures.
Validation and detection
Inventory Linux kernel versions across kdump-enabled systems.
Confirm whether crash kernels collect vmcore through /proc/vmcore.
Map installed kernels to vendor advisories or listed stable commits.
After updating, test crashdump collection in a controlled environment.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-21694 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.