Skip to main content

Linux Kernel EUVDEUVD-2026-28569

| CVE-2026-43299 MEDIUM
2026-05-08 Linux GHSA-v7w4-33p2-qjcr
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
SUSE
MEDIUM
qualitative
Red Hat
5.5 LOW
qualitative

Primary rating from NVD.

CVSS VectorNVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

4
Analysis Generated
May 15, 2026 - 16:31 vuln.today
CVSS changed
May 15, 2026 - 14:22 NVD
5.5 (MEDIUM)
Patch available
May 08, 2026 - 14:33 EUVD
CVE Published
May 08, 2026 - 13:11 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

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

btrfs: do not ASSERT() when the fs flips RO inside btrfs_repair_io_failure()

[BUG] There is a bug report that when btrfs hits ENOSPC error in a critical path, btrfs flips RO (this part is expected, although the ENOSPC bug still needs to be addressed).

The problem is after the RO flip, if there is a read repair pending, we can hit the ASSERT() inside btrfs_repair_io_failure() like the following:

BTRFS info (device vdc): relocating block group 30408704 flags metadata|raid1 ------------[ cut here ]------------ BTRFS: Transaction aborted (error -28) WARNING: fs/btrfs/extent-tree.c:3235 at __btrfs_free_extent.isra.0+0x453/0xfd0, CPU#1: btrfs/383844 Modules linked in: kvm_intel kvm irqbypass [...] ---[ end trace 0000000000000000 ]--- BTRFS info (device vdc state EA): 2 enospc errors during balance BTRFS info (device vdc state EA): balance: ended with status: -30 BTRFS error (device vdc state EA): parent transid verify failed on logical 30556160 mirror 2 wanted 8 found 6 BTRFS error (device vdc state EA): bdev /dev/nvme0n1 errs: wr 0, rd 0, flush 0, corrupt 10, gen 0 [...] assertion failed: !(fs_info->sb->s_flags & SB_RDONLY) :: 0, in fs/btrfs/bio.c:938 ------------[ cut here ]------------ assertion failed: !(fs_info->sb->s_flags & SB_RDONLY) :: 0, in fs/btrfs/bio.c:938 kernel BUG at fs/btrfs/bio.c:938! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 0 UID: 0 PID: 868 Comm: kworker/u8:13 Tainted: G W N 6.19.0-rc6+ #4788 PREEMPT(full) Tainted: [W]=WARN, [N]=TEST Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014 Workqueue: btrfs-endio simple_end_io_work RIP: 0010:btrfs_repair_io_failure.cold+0xb2/0x120 RSP: 0000:ffffc90001d2bcf0 EFLAGS: 00010246 RAX: 0000000000000051 RBX: 0000000000001000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffffff8305cf42 RDI: 00000000ffffffff RBP: 0000000000000002 R08: 00000000fffeffff R09: ffffffff837fa988 R10: ffffffff8327a9e0 R11: 6f69747265737361 R12: ffff88813018d310 R13: ffff888168b8a000 R14: ffffc90001d2bd90 R15: ffff88810a169000 FS: 0000000000000000(0000) GS:ffff8885e752c000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 ------------[ cut here ]------------

[CAUSE] The cause of -ENOSPC error during the test case btrfs/124 is still unknown, although it's known that we still have cases where metadata can be over-committed but can not be fulfilled correctly, thus if we hit such ENOSPC error inside a critical path, we have no choice but abort the current transaction.

This will mark the fs read-only.

The problem is inside the btrfs_repair_io_failure() path that we require the fs not to be mount read-only. This is normally fine, but if we are doing a read-repair meanwhile the fs flips RO due to a critical error, we can enter btrfs_repair_io_failure() with super block set to read-only, thus triggering the above crash.

[FIX] Just replace the ASSERT() with a proper return if the fs is already read-only.

AnalysisAI

Linux kernel btrfs filesystem crashes with kernel BUG when read-repair operations execute after filesystem transitions to read-only state during critical ENOSPC errors. Affects btrfs users experiencing metadata space exhaustion, causing denial of service through kernel panic in the bio repair path. Local attackers with low privileges can trigger this condition in specific filesystem states. EPSS score of 0.02% and no KEV listing indicate low probability of widespread exploitation. Vendor-released patches available in kernel versions 6.19.6 and 7.0.

Technical ContextAI

The btrfs (B-tree filesystem) is a copy-on-write filesystem for Linux with advanced features including snapshots, checksumming, and self-healing. When btrfs detects data corruption during reads, it attempts automatic repair by reading from alternate mirrors in RAID configurations. The vulnerability occurs in the bio (block I/O) layer's repair mechanism (btrfs_repair_io_failure() function at fs/btrfs/bio.c:938). The function contains an ASSERT() macro that assumes the filesystem cannot be read-only during repair operations. However, when the filesystem encounters ENOSPC (out of space) errors in critical paths like transaction commits or extent tree operations, btrfs transitions to read-only mode to prevent data corruption. If a read-repair operation is already queued in the endio (end I/O) workqueue when this transition occurs, the ASSERT() fires, triggering a kernel BUG (invalid opcode exception) that crashes the system. The CPE strings indicate this affects the core Linux kernel codebase across multiple versions from commit 1da177e4c3f4 (initial kernel import) through versions prior to the patches.

RemediationAI

Upgrade to Linux kernel version 6.19.6, 7.0, or later stable releases incorporating the upstream fix commits 8ceaad6cd6e7fa5f73b0b2796a2e85d75d37e9f3 or f6df18c001e3dcebc08482d0adeacd0cfea08593. The patch replaces the ASSERT() macro with a graceful return when the filesystem is already read-only, preventing the kernel panic while allowing the filesystem to remain in safe read-only state. Distribution-specific kernels may have backported patches - consult your Linux distribution's security advisories (Red Hat, Ubuntu, SUSE, Debian) for appropriate package updates. If immediate patching is not feasible, implement these compensating controls with noted trade-offs: First, ensure adequate metadata space reservation in btrfs filesystems by monitoring 'btrfs filesystem usage' output and maintaining at least 10-15% free metadata space to reduce ENOSPC likelihood during critical operations (trade-off: increased storage overhead). Second, avoid using btrfs RAID configurations (RAID1, RAID5, RAID6) in production environments under high I/O load until patched, as read-repair operations are only triggered with multiple copies (trade-off: loss of data redundancy and self-healing capability). Third, implement filesystem monitoring with automatic alerts on ENOSPC warnings in kernel logs to address space issues before critical errors occur (trade-off: operational overhead, does not prevent the crash if triggered). Note that workarounds only reduce probability - the underlying race condition between RO transition and pending read-repair cannot be fully eliminated without the code fix.

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise Desktop 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

Share

EUVD-2026-28569 vulnerability details – vuln.today

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