CVE-2024-47736: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: erofs: handle overlapped pclusters out of crafted images properly syzbot reported a task hang issue due to a deadlock case where it is waiting for the folio lock of a cached folio that will be used for cache I/Os. After looking into the crafted fuzzed image, I found it's formed with several overlapped big pclusters as below: Ext: logical offset | length : physical offset | length 0: 0.. 16384 | 16384 : 151552.. 167936 | 16384 1: 16384.. 32768 | 16384 : 155648.. 172032 | 16384 2: 32768.. 49152 | 16384 : 537223168.. 537239552 | 16384 ... Here, extent 0/1 are physically overlapped although it's entirely _impossible_ for normal filesystem images generated by mkfs. First, managed folios containing compressed data will be marked as up-to-date and then unlocked immediately (unlike in-place folios) when compressed I/Os are complete. If physical blocks are not submitted in the incremental order, there should be separate BIOs to avoid dependency issues. However, the current code mis-arranges z_erofs_fill_bio_vec() and BIO submission which causes unexpected BIO waits. Second, managed folios will be connected to their own pclusters for efficient inter-queries. However, this is somewhat hard to implement easily if overlapped big pclusters exist. Again, these only appear in fuzzed images so let's simply fall back to temporary short-lived pages for correctness. Additionally, it justifies that referenced managed folios cannot be truncated for now and reverts part of commit 2080ca1ed3e4 ("erofs: tidy up `struct z_erofs_bvec`") for simplicity although it shouldn't be any difference.
AI Analysis
Technical Summary
CVE-2024-47736 is a vulnerability identified in the Linux kernel's implementation of the EROFS (Enhanced Read-Only File System) subsystem. The issue arises from improper handling of overlapped physical clusters (pclusters) in specially crafted filesystem images. Normally, filesystem images generated by standard tools like mkfs do not contain overlapping pclusters, but fuzz testing revealed that malformed images with overlapping pclusters can cause a deadlock scenario. Specifically, the vulnerability involves a task hang due to a deadlock while waiting for a folio lock on a cached folio used for cache I/O operations. The root cause is the mishandling of BIO (Block I/O) submission order and the mismanagement of managed folios containing compressed data. Managed folios are marked up-to-date and unlocked immediately after compressed I/O completion, but if physical blocks are not submitted incrementally, separate BIOs should be used to avoid dependencies. The current Linux kernel code misarranges the function z_erofs_fill_bio_vec() and BIO submission, leading to unexpected BIO waits and deadlocks. Additionally, the linkage of managed folios to their pclusters for efficient inter-query operations is complicated by overlapping pclusters, which only appear in fuzzed images. The fix involves falling back to temporary short-lived pages to maintain correctness and reverting part of a previous commit to simplify folio truncation logic. This vulnerability does not appear exploitable via normal filesystem images and has no known exploits in the wild at the time of publication. However, it represents a kernel-level deadlock condition triggered by malformed EROFS images, potentially causing denial of service through task hangs.
Potential Impact
For European organizations, this vulnerability primarily poses a risk of denial-of-service (DoS) conditions on Linux systems utilizing the EROFS filesystem, especially in environments where untrusted or malformed filesystem images might be mounted or processed. While EROFS is a read-only filesystem often used in embedded systems, containers, or specialized Linux distributions, its adoption in European industries such as telecommunications, automotive, and embedded device manufacturing is notable. A successful exploitation could cause kernel task hangs, leading to system instability or service interruptions. This could impact critical infrastructure or services relying on Linux-based systems with EROFS support. However, since the vulnerability requires crafted filesystem images that are not generated by standard tools and no known exploits exist, the immediate risk is moderate. Organizations deploying Linux kernels with EROFS support should be aware of potential risks if they handle untrusted images or operate in environments where fuzz testing or malformed images might be introduced, such as development, testing, or supply chain scenarios.
Mitigation Recommendations
1. Update Linux kernels to versions that include the patch for CVE-2024-47736 as soon as they become available from trusted distributors. 2. Restrict the mounting or processing of untrusted or externally sourced EROFS filesystem images, especially those not generated by standard tools. 3. Implement strict validation and integrity checks on filesystem images before mounting, including scanning for anomalies such as overlapping pclusters. 4. In environments using containerization or embedded devices with EROFS, enforce strict image provenance and signing policies to prevent introduction of malformed images. 5. Monitor kernel logs and system behavior for signs of task hangs or deadlocks related to filesystem I/O operations, enabling early detection of potential exploitation attempts. 6. For development and testing environments, isolate fuzz testing activities to prevent malformed images from reaching production systems. 7. Collaborate with Linux distribution vendors to ensure timely patch deployment and communicate the importance of this update to system administrators.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain
CVE-2024-47736: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: erofs: handle overlapped pclusters out of crafted images properly syzbot reported a task hang issue due to a deadlock case where it is waiting for the folio lock of a cached folio that will be used for cache I/Os. After looking into the crafted fuzzed image, I found it's formed with several overlapped big pclusters as below: Ext: logical offset | length : physical offset | length 0: 0.. 16384 | 16384 : 151552.. 167936 | 16384 1: 16384.. 32768 | 16384 : 155648.. 172032 | 16384 2: 32768.. 49152 | 16384 : 537223168.. 537239552 | 16384 ... Here, extent 0/1 are physically overlapped although it's entirely _impossible_ for normal filesystem images generated by mkfs. First, managed folios containing compressed data will be marked as up-to-date and then unlocked immediately (unlike in-place folios) when compressed I/Os are complete. If physical blocks are not submitted in the incremental order, there should be separate BIOs to avoid dependency issues. However, the current code mis-arranges z_erofs_fill_bio_vec() and BIO submission which causes unexpected BIO waits. Second, managed folios will be connected to their own pclusters for efficient inter-queries. However, this is somewhat hard to implement easily if overlapped big pclusters exist. Again, these only appear in fuzzed images so let's simply fall back to temporary short-lived pages for correctness. Additionally, it justifies that referenced managed folios cannot be truncated for now and reverts part of commit 2080ca1ed3e4 ("erofs: tidy up `struct z_erofs_bvec`") for simplicity although it shouldn't be any difference.
AI-Powered Analysis
Technical Analysis
CVE-2024-47736 is a vulnerability identified in the Linux kernel's implementation of the EROFS (Enhanced Read-Only File System) subsystem. The issue arises from improper handling of overlapped physical clusters (pclusters) in specially crafted filesystem images. Normally, filesystem images generated by standard tools like mkfs do not contain overlapping pclusters, but fuzz testing revealed that malformed images with overlapping pclusters can cause a deadlock scenario. Specifically, the vulnerability involves a task hang due to a deadlock while waiting for a folio lock on a cached folio used for cache I/O operations. The root cause is the mishandling of BIO (Block I/O) submission order and the mismanagement of managed folios containing compressed data. Managed folios are marked up-to-date and unlocked immediately after compressed I/O completion, but if physical blocks are not submitted incrementally, separate BIOs should be used to avoid dependencies. The current Linux kernel code misarranges the function z_erofs_fill_bio_vec() and BIO submission, leading to unexpected BIO waits and deadlocks. Additionally, the linkage of managed folios to their pclusters for efficient inter-query operations is complicated by overlapping pclusters, which only appear in fuzzed images. The fix involves falling back to temporary short-lived pages to maintain correctness and reverting part of a previous commit to simplify folio truncation logic. This vulnerability does not appear exploitable via normal filesystem images and has no known exploits in the wild at the time of publication. However, it represents a kernel-level deadlock condition triggered by malformed EROFS images, potentially causing denial of service through task hangs.
Potential Impact
For European organizations, this vulnerability primarily poses a risk of denial-of-service (DoS) conditions on Linux systems utilizing the EROFS filesystem, especially in environments where untrusted or malformed filesystem images might be mounted or processed. While EROFS is a read-only filesystem often used in embedded systems, containers, or specialized Linux distributions, its adoption in European industries such as telecommunications, automotive, and embedded device manufacturing is notable. A successful exploitation could cause kernel task hangs, leading to system instability or service interruptions. This could impact critical infrastructure or services relying on Linux-based systems with EROFS support. However, since the vulnerability requires crafted filesystem images that are not generated by standard tools and no known exploits exist, the immediate risk is moderate. Organizations deploying Linux kernels with EROFS support should be aware of potential risks if they handle untrusted images or operate in environments where fuzz testing or malformed images might be introduced, such as development, testing, or supply chain scenarios.
Mitigation Recommendations
1. Update Linux kernels to versions that include the patch for CVE-2024-47736 as soon as they become available from trusted distributors. 2. Restrict the mounting or processing of untrusted or externally sourced EROFS filesystem images, especially those not generated by standard tools. 3. Implement strict validation and integrity checks on filesystem images before mounting, including scanning for anomalies such as overlapping pclusters. 4. In environments using containerization or embedded devices with EROFS, enforce strict image provenance and signing policies to prevent introduction of malformed images. 5. Monitor kernel logs and system behavior for signs of task hangs or deadlocks related to filesystem I/O operations, enabling early detection of potential exploitation attempts. 6. For development and testing environments, isolate fuzz testing activities to prevent malformed images from reaching production systems. 7. Collaborate with Linux distribution vendors to ensure timely patch deployment and communicate the importance of this update to system administrators.
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-09-30T16:00:12.958Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9825c4522896dcbe0658
Added to database: 5/21/2025, 9:08:53 AM
Last enriched: 6/28/2025, 8:11:47 PM
Last updated: 8/11/2025, 6:48:15 AM
Views: 10
Related Threats
CVE-2025-8885: CWE-770 Allocation of Resources Without Limits or Throttling in Legion of the Bouncy Castle Inc. Bouncy Castle for Java
MediumCVE-2025-26398: CWE-798 Use of Hard-coded Credentials in SolarWinds Database Performance Analyzer
MediumCVE-2025-41686: CWE-306 Missing Authentication for Critical Function in Phoenix Contact DaUM
HighCVE-2025-8874: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in litonice13 Master Addons – Elementor Addons with White Label, Free Widgets, Hover Effects, Conditions, & Animations
MediumCVE-2025-8767: CWE-1236 Improper Neutralization of Formula Elements in a CSV File in anwppro AnWP Football Leagues
MediumActions
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.