CVE-2026-90260

btrfs: zoned: don't clobber the extent buffer when zeroing it out

State
Published
Severity
7.1 High
Published
Sep 17, 2026
Updated
Oct 21, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

btrfs: zoned: don't clobber the extent buffer when zeroing it out

On a zoned filesystem a freed-but-still-dirty tree block is written out as zeros (EXTENT_BUFFER_ZONED_ZEROOUT) only to keep the zone write pointer advancing. btree_csum_one_bio() implemented this by memzeroing the extent buffer's own folios before submission.

That destroys the in-memory buffer while it may still be referenced. In particular btrfs_free_tree_block() can run on it afterwards and reads the header to add a delayed reference; once the header has been zeroed it frees bytenr 0 and corrupts the extent tree (the btrfs_header_bytenr(buf) != 0 ASSERT in btrfs_free_tree_block(), or an "unable to find ref" abort). It is flaky and reproduces under fsstress, e.g. generic/461 and generic/013.

Write the zeros to disk from the shared zero page instead and leave the extent buffer content untouched, so any later reference - including the delayed reference from btrfs_free_tree_block() - still sees a valid header. end_bbio_meta_write() now clears writeback on the buffer's own folios, as the bio no longer carries them.

Scores

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

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • aa6313e6ff2bfbf736a2739047bba355d8241584 to before efa5084d08030aa557fdefa3e4a73b2501b7d207Affected
  • aa6313e6ff2bfbf736a2739047bba355d8241584 to before 92484ad014f2e2b0e0e7bbc1610951e978cf557cAffected
  • aa6313e6ff2bfbf736a2739047bba355d8241584 to before 98e3747587f9f87f010d8d7e55786216249a94afAffected
  • aa6313e6ff2bfbf736a2739047bba355d8241584 to before db4b9eefc8ee0bcaeee4d5e6a7313905f6a2fe7cAffected
LinuxLinux
  • 6.8Affected
  • before 6.8Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 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.