Skip to main content

Linux Kernel EUVDEUVD-2026-81853

| CVE-2026-90260 HIGH
2026-09-17 Linux GHSA-3xv6-4m2c-phmw
7.1
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Local access to zoned btrfs filesystem
  2. Delivery
    Drive heavy concurrent metadata I/O (fsstress-like)
  3. Exploit
    Free-but-dirty tree block zeroed while referenced
  4. Execution
    Later btrfs_free_tree_block reads zeroed header
  5. Persist
    Frees bytenr 0, corrupts extent tree
  6. Impact
    Kernel ASSERT/abort, metadata corruption

Vulnerability Assessment

Exploitation Conditions

Requires a btrfs filesystem created in zoned mode on a zoned block device (ZNS NVMe SSD or host-managed SMR drive), where the EXTENT_BUFFER_ZONED_ZEROOUT path for freed-but-dirty tree blocks is exercised. The trigger is local filesystem activity that produces heavy concurrent metadata operations (as generated by fsstress / xfstests generic/461 and generic/013); the condition is explicitly described as flaky and non-deterministic, so it depends on specific timing between the zero-out write and a subsequent btrfs_free_tree_block() reference. Limiting factors: requires local access with the ability to perform filesystem operations (PR:L), only affects zoned btrfs (non-default, hardware-dependent deployment), affects kernels 6.8 through the fixed stable releases, and cannot be triggered remotely or without authentication.

Impact

This is a filesystem-integrity/availability bug, not an exploitable info-disclosure primitive. The vendor CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H = 7.1) is self-consistent on impact (C:N, I:H, A:H) - meaning NO confidentiality loss, only metadata corruption and crashes - which directly CONTRADICTS the 'Information Disclosure' tag applied to this record. The description makes clear the outcome is extent-tree corruption: btrfs_free_tree_block() reads a header that was zeroed out from under it, frees bytenr 0, and either trips the btrfs_header_bytenr(buf)!=0 ASSERT or aborts with 'unable to find ref'. No EPSS, KEV, or POC data is present in the input, so exploitation likelihood signals are absent; there is no public exploit identified at time of analysis, and this is not on CISA KEV. I also disagree with AC:L: the description explicitly calls the condition 'flaky' and only reproducible under fsstress (generic/461, generic/013), which is timing/interleaving-dependent and better modeled as AC:H, lowering my assessed score to ~5.3. Practically this reads as a reliability/data-corruption defect surfaced by heavy filesystem workloads rather than a targeted attack vector - real priority is moderate for zoned-btrfs operators (data-integrity risk) but low as a security-attack concern.

Exploit ScenarioDerived

A local user (or workload) performing intensive metadata operations on a zoned btrfs filesystem - the kind of I/O pattern fsstress generates - triggers a freed-but-still-dirty tree block to be zeroed out for zone-write-pointer advancement while the buffer is still referenced. A subsequent btrfs_free_tree_block() then reads the zeroed header, frees bytenr 0, and corrupts the extent tree, causing a kernel assert/abort and potential on-disk metadata damage. No public exploit code exists; reproduction is non-deterministic and requires sustained filesystem stress rather than a single crafted operation.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 18, 2026

Incorrect zero-out handling in the Linux kernel's btrfs zoned-mode write path can corrupt on-disk filesystem metadata, because btree_csum_one_bio() memzeroed an extent buffer's own folios in place while the buffer could still be referenced, so a later btrfs_free_tree_block() read a zeroed header and freed bytenr 0, corrupting the extent tree. Only Linux kernels running btrfs on a zoned block device (ZNS NVMe or host-managed SMR) from the 6.8 era through the fixed stable releases are affected; non-zoned btrfs deployments are unaffected. Triggering requires local authenticated filesystem activity with heavy concurrent metadata operations (the upstream report notes it reproduces flakily under fsstress/xfstests generic/461 and generic/013), authentication requirements follow the assessed vector as PR:L, and no public exploit identified at time of analysis. The impact is integrity and availability of filesystem metadata (potential abort/ASSERT and metadata loss), not a remotely reachable or memory-disclosure primitive.

RemediationAI

Vendor-released patch: Linux 6.18.52, Linux 7.2.6 and Linux 7.3-rc1 (upstream commits 92484ad014f2e2b0e0e7bbc1610951e978cf557c, db4b9eefc8ee0bcaeee4d5e6a7313905f6a2fe7c and 98e3747587f9f87f010d8d7e55786216249a94af, per https://git.kernel.org/stable/c/92484ad014f2e2b0e0e7bbc1610951e978cf557c); upgrade zoned-btrfs hosts to those or later kernel releases and reboot, since the flaw is in kernel writeback code and cannot be corrected by a filesystem-level operation. Because the trigger requires a btrfs filesystem in zoned mode plus concurrent metadata activity, the most effective compensating control is to avoid deploying zoned-mode btrfs on ZNS/SMR hardware until the patched kernel is in place - this costs the zone-friendly write-ordering benefits of zoned btrfs but fully removes exposure; if it must run unpatched, restrict the workload to low-concurrency, single-writer metadata patterns and quiesce metadata-heavy jobs (fsstress-style builders, snapshot/free storms), accepting that this only reduces, not eliminates, the flaky race. Monitoring is limited but useful: watch dmesg for the btrfs_header_bytenr(buf) != 0 ASSERT and 'unable to find ref' abort strings, and take verified backups before and after any suspicious event, since extent-tree corruption can propagate to later allocations and btrfs scrub addresses data checksums rather than extent-tree reference damage. Additional context is available at https://nvd.nist.gov/vuln/detail/CVE-2026-90260 (EUVD-2026-81853).

Affected VersionsENISA

Linux aa6313e6ff2bfbf736a2739047bba355d8241584 <92484ad014f2e2b0e0e7bbc1610951e978cf557c
Linux 6.8
Linux patch: 0
Linux patch: 7.2.6
Linux patch: 6.18.52
Linux aa6313e6ff2bfbf736a2739047bba355d8241584 <db4b9eefc8ee0bcaeee4d5e6a7313905f6a2fe7c
Linux aa6313e6ff2bfbf736a2739047bba355d8241584 <98e3747587f9f87f010d8d7e55786216249a94af
Linux patch: 7.3-rc1

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Btrfs in zoned mode (btrfs on ZNS NVMe SSDs or host-managed SMR drives) must keep the zone write pointer advancing, so when a tree block is freed but still dirty it is deliberately written out as zeros, signalled by the EXTENT_BUFFER_ZONED_ZEROOUT flag. The vulnerable implementation lived in btree_csum_one_bio(), which performed this zeroing by memzeroing the extent buffer's own folios immediately before bio submission, destroying the in-memory buffer contents even though the buffer could still be referenced afterwards. In particular btrfs_free_tree_block() can execute on that same buffer and reads its header to add a delayed reference; with the header zeroed it operates on bytenr 0, corrupting the extent tree, manifesting as the btrfs_header_bytenr(buf) != 0 ASSERT in btrfs_free_tree_block() or an 'unable to find ref' abort. The fix writes the zero payload from the shared kernel zero page instead of mutating the extent buffer, leaving the buffer's header valid for any later reference, and end_bbio_meta_write() was changed to clear writeback on the buffer's own folios because the bio no longer carries them. No CWE was assigned in the source data; the defect class is a buffer lifetime / in-place mutation flaw rather than a classic memory-safety primitive, and the upstream tag 'Information Disclosure' is not consistent with the assessed impact, which is metadata integrity and availability. The authoritative assessed vector (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H) is local, high-attack-complexity due to the non-deterministic timing, requires authenticated local filesystem privileges, and yields no confidentiality impact.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.1 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 6.3 MEDIUM

Local zoned-btrfs I/O by an authenticated user (AV:L/PR:L); flaky race under stress makes AC:H; no confidentiality but metadata corruption and crash give I:H/A:H, C:N.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 7.0 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 18, 2026 - 18:22 NVD
7.1 (HIGH)
Patch available
Sep 17, 2026 - 17:19 EUVD
CVE Published
Sep 17, 2026 - 16:07 cve.org
HIGH 7.1
CVE Published
Sep 17, 2026 - 16:07 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

A defect in the Linux kernel's btrfs filesystem affects only systems that combine zoned storage hardware with specific 6.8-era kernel versions, and it can silently corrupt filesystem metadata, causing filesystem aborts or data loss. Triggering it requires local authenticated users performing intensive concurrent filesystem operations, and no public exploit code exists, so the practical risk is operational - unplanned downtime and integrity loss in storage-intensive or multi-tenant environments rather than remote compromise.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
btrfs is common on Linux, but zoned btrfs on ZNS/SMR devices is niche
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy