CVE-2024-42234: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: mm: fix crashes from deferred split racing folio migration Even on 6.10-rc6, I've been seeing elusive "Bad page state"s (often on flags when freeing, yet the flags shown are not bad: PG_locked had been set and cleared??), and VM_BUG_ON_PAGE(page_ref_count(page) == 0)s from deferred_split_scan()'s folio_put(), and a variety of other BUG and WARN symptoms implying double free by deferred split and large folio migration. 6.7 commit 9bcef5973e31 ("mm: memcg: fix split queue list crash when large folio migration") was right to fix the memcg-dependent locking broken in 85ce2c517ade ("memcontrol: only transfer the memcg data for migration"), but missed a subtlety of deferred_split_scan(): it moves folios to its own local list to work on them without split_queue_lock, during which time folio->_deferred_list is not empty, but even the "right" lock does nothing to secure the folio and the list it is on. Fortunately, deferred_split_scan() is careful to use folio_try_get(): so folio_migrate_mapping() can avoid the race by folio_undo_large_rmappable() while the old folio's reference count is temporarily frozen to 0 - adding such a freeze in the !mapping case too (originally, folio lock and unmapping and no swap cache left an anon folio unreachable, so no freezing was needed there: but the deferred split queue offers a way to reach it).
AI Analysis
Technical Summary
CVE-2024-42234 is a vulnerability in the Linux kernel's memory management subsystem, specifically related to the handling of deferred split racing during folio migration. The issue arises from a race condition in the deferred_split_scan() function, which manages folios (large memory pages) by moving them to a local list for processing without holding the split_queue_lock. During this time, the folio's _deferred_list is not empty, and the locking mechanisms in place do not adequately protect the folio or the list it resides on. This leads to scenarios where folios can be double-freed or cause inconsistent states such as "Bad page state" errors and VM_BUG_ON_PAGE warnings, indicating potential memory corruption or kernel crashes. The root cause involves subtle interactions between memory control group (memcg) locking and folio reference counting, particularly when folio_try_get() is used to avoid races but does not fully prevent them in all cases. The fix involves freezing the folio's reference count temporarily to prevent races during migration and deferred splitting, especially in cases where the folio is not associated with a mapping. This vulnerability affects Linux kernel versions around the 6.7 to 6.10-rc6 development cycle and could lead to system instability or crashes if exploited. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to servers and infrastructure running affected Linux kernel versions, especially those utilizing memory control groups and large folio migration features. Potential impacts include kernel crashes leading to denial of service (DoS), which could disrupt critical services, cloud environments, and containerized workloads that rely heavily on Linux memory management. While there is no evidence of remote code execution or privilege escalation directly from this flaw, the instability caused could be leveraged as part of a broader attack chain or cause significant operational disruptions. Organizations running high-availability systems, financial services platforms, or critical infrastructure in Europe could face service outages or degraded performance. Additionally, environments with heavy memory usage or custom kernel builds might be more susceptible. The lack of known exploits reduces immediate risk, but the complexity and subtlety of the bug mean that sophisticated attackers or accidental triggers could cause impactful system failures.
Mitigation Recommendations
European organizations should prioritize updating their Linux kernels to versions that include the fix for CVE-2024-42234, ideally moving to stable releases beyond 6.10-rc6 where the patch is integrated. Kernel upgrades should be tested in staging environments to ensure compatibility, especially for workloads sensitive to memory management changes. For environments where immediate patching is not feasible, monitoring kernel logs for symptoms such as "Bad page state" errors, VM_BUG_ON_PAGE warnings, or unusual memory-related crashes can help detect potential exploitation or triggering of this vulnerability. Organizations should also review their use of memory control groups and large folio migration features, considering temporary configuration adjustments to reduce exposure. Employing kernel live patching solutions where available can minimize downtime during patch deployment. Finally, maintaining robust backup and recovery procedures will mitigate the impact of potential crashes caused by this vulnerability.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Poland, Italy, Spain
CVE-2024-42234: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: mm: fix crashes from deferred split racing folio migration Even on 6.10-rc6, I've been seeing elusive "Bad page state"s (often on flags when freeing, yet the flags shown are not bad: PG_locked had been set and cleared??), and VM_BUG_ON_PAGE(page_ref_count(page) == 0)s from deferred_split_scan()'s folio_put(), and a variety of other BUG and WARN symptoms implying double free by deferred split and large folio migration. 6.7 commit 9bcef5973e31 ("mm: memcg: fix split queue list crash when large folio migration") was right to fix the memcg-dependent locking broken in 85ce2c517ade ("memcontrol: only transfer the memcg data for migration"), but missed a subtlety of deferred_split_scan(): it moves folios to its own local list to work on them without split_queue_lock, during which time folio->_deferred_list is not empty, but even the "right" lock does nothing to secure the folio and the list it is on. Fortunately, deferred_split_scan() is careful to use folio_try_get(): so folio_migrate_mapping() can avoid the race by folio_undo_large_rmappable() while the old folio's reference count is temporarily frozen to 0 - adding such a freeze in the !mapping case too (originally, folio lock and unmapping and no swap cache left an anon folio unreachable, so no freezing was needed there: but the deferred split queue offers a way to reach it).
AI-Powered Analysis
Technical Analysis
CVE-2024-42234 is a vulnerability in the Linux kernel's memory management subsystem, specifically related to the handling of deferred split racing during folio migration. The issue arises from a race condition in the deferred_split_scan() function, which manages folios (large memory pages) by moving them to a local list for processing without holding the split_queue_lock. During this time, the folio's _deferred_list is not empty, and the locking mechanisms in place do not adequately protect the folio or the list it resides on. This leads to scenarios where folios can be double-freed or cause inconsistent states such as "Bad page state" errors and VM_BUG_ON_PAGE warnings, indicating potential memory corruption or kernel crashes. The root cause involves subtle interactions between memory control group (memcg) locking and folio reference counting, particularly when folio_try_get() is used to avoid races but does not fully prevent them in all cases. The fix involves freezing the folio's reference count temporarily to prevent races during migration and deferred splitting, especially in cases where the folio is not associated with a mapping. This vulnerability affects Linux kernel versions around the 6.7 to 6.10-rc6 development cycle and could lead to system instability or crashes if exploited. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to servers and infrastructure running affected Linux kernel versions, especially those utilizing memory control groups and large folio migration features. Potential impacts include kernel crashes leading to denial of service (DoS), which could disrupt critical services, cloud environments, and containerized workloads that rely heavily on Linux memory management. While there is no evidence of remote code execution or privilege escalation directly from this flaw, the instability caused could be leveraged as part of a broader attack chain or cause significant operational disruptions. Organizations running high-availability systems, financial services platforms, or critical infrastructure in Europe could face service outages or degraded performance. Additionally, environments with heavy memory usage or custom kernel builds might be more susceptible. The lack of known exploits reduces immediate risk, but the complexity and subtlety of the bug mean that sophisticated attackers or accidental triggers could cause impactful system failures.
Mitigation Recommendations
European organizations should prioritize updating their Linux kernels to versions that include the fix for CVE-2024-42234, ideally moving to stable releases beyond 6.10-rc6 where the patch is integrated. Kernel upgrades should be tested in staging environments to ensure compatibility, especially for workloads sensitive to memory management changes. For environments where immediate patching is not feasible, monitoring kernel logs for symptoms such as "Bad page state" errors, VM_BUG_ON_PAGE warnings, or unusual memory-related crashes can help detect potential exploitation or triggering of this vulnerability. Organizations should also review their use of memory control groups and large folio migration features, considering temporary configuration adjustments to reduce exposure. Employing kernel live patching solutions where available can minimize downtime during patch deployment. Finally, maintaining robust backup and recovery procedures will mitigate the impact of potential crashes caused by this vulnerability.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-07-30T07:40:12.252Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9827c4522896dcbe1c9a
Added to database: 5/21/2025, 9:08:55 AM
Last enriched: 6/29/2025, 6:09:56 AM
Last updated: 7/31/2025, 8:29:02 AM
Views: 16
Related Threats
Researcher to release exploit for full auth bypass on FortiWeb
HighCVE-2025-9091: Hard-coded Credentials in Tenda AC20
LowCVE-2025-9090: Command Injection in Tenda AC20
MediumCVE-2025-9092: CWE-400 Uncontrolled Resource Consumption in Legion of the Bouncy Castle Inc. Bouncy Castle for Java - BC-FJA 2.1.0
LowCVE-2025-9089: Stack-based Buffer Overflow in Tenda AC20
HighActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.