CVE-2024-36027: btrfs: zoned: do not flag ZEROOUT on non-dirty extent buffer
In the Linux kernel, the following vulnerability has been resolved:
btrfs: zoned: do not flag ZEROOUT on non-dirty extent buffer
Btrfs clears the content of an extent buffer marked as
EXTENT_BUFFER_ZONED_ZEROOUT before the bio submission. This mechanism is
introduced to prevent a write hole of an extent buffer, which is once
allocated, marked dirty, but turns out unnecessary and cleaned up within
one transaction operation.
Currently, btrfs_clear_buffer_dirty() marks the extent buffer as
EXTENT_BUFFER_ZONED_ZEROOUT, and skips the entry function. If this call
happens while the buffer is under IO (with the WRITEBACK flag set,
without the DIRTY flag), we can add the ZEROOUT flag and clear the
buffer's content just before a bio submission. As a result:
1) it can lead to adding faulty delayed reference item which leads to a
FS corrupted (EUCLEAN) error, and
2) it writes out cleared tree node on disk
The former issue is previously discussed in [1]. The corruption happens
when it runs a delayed reference update. So, on-disk data is safe.
[1] https://lore.kernel.org/linux-btrfs/3f4f2a0ff1a6c818050434288925bdcf3cd719e5.1709124777.git.naohiro.aota@wdc.com/
The latter one can reach on-disk data. But, as that node is already
processed by btrfs_clear_buffer_dirty(), that will be invalidated in the
next transaction commit anyway. So, the chance of hitting the corruption
is relatively small.
Anyway, we should skip flagging ZEROOUT on a non-DIRTY extent buffer, to
keep the content under IO intact.
Security readout for executives and security teams
Plain-English summary
A Linux Btrfs flaw can clear filesystem metadata while it is being written, potentially causing filesystem errors, corrupted state, or cleared tree nodes on disk. It primarily concerns affected kernels using Btrfs zoned storage. The source describes the on-disk corruption opportunity as relatively small, but possible integrity and availability impacts are significant.
Executive priority
Treat this as high priority for storage systems confirmed to use affected kernels with zoned Btrfs. Integrity and availability could be affected, although exposure is configuration-specific and active exploitation is not established. Use targeted inventory and accelerated vendor-supported patching rather than assuming every Linux host is exposed.
Technical view
During Btrfs zoned writeback, btrfs_clear_buffer_dirty() could mark a non-dirty extent buffer for ZEROOUT while WRITEBACK was active. Its contents could then be cleared before bio submission. This may create faulty delayed-reference items producing EUCLEAN or write a cleared tree node. The fix avoids setting ZEROOUT unless the extent buffer is dirty.
Likely exposure
The bundle identifies Linux kernel 6.8 through 6.8.8 and 6.9 as affected. Practical exposure appears limited to systems using the relevant Btrfs zoned-storage path. Distribution backports and precise fixed package versions are not provided, so installed vendor kernels require separate verification.
Exploitation context
The CVSS vector describes a local, low-privilege condition requiring no user interaction. CISA KEV status is false, and the supplied sources provide no evidence of active exploitation or a public exploit. They describe a race-like filesystem writeback condition and characterize the chance of on-disk corruption as relatively small.
Researcher notes
The first described outcome occurs during delayed-reference processing and reportedly does not endanger on-disk data. The second can reach disk, although the affected node should be invalidated at the next transaction commit. The sources do not establish reproducible attack conditions, exploitation prevalence, distribution package status, or a workaround beyond applying the fix.
Mitigation direction
Install the vendor kernel update containing the applicable referenced stable fix or backport.
Prioritize affected systems confirmed to use Btrfs zoned storage.
If updating is delayed, consult the Linux distribution or storage vendor for supported risk-reduction guidance.
Maintain verified, recoverable backups because the reported impact includes possible filesystem corruption.
Validation and detection
Inventory kernel versions and identify systems running reported affected releases.
Confirm whether each potentially affected host uses Btrfs with zoned storage.
Verify the installed kernel contains the applicable stable fix or vendor backport.
Review system and filesystem logs for Btrfs EUCLEAN or corruption indicators.
Confirm filesystem health and backup recoverability using approved operational procedures.
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-2024-36027 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.