CVE Catalog

CVE-2026-80808

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the ext4 filesystem has a vulnerability causing an infinite retry loop in ext4_xattr_block_set() when selecting a cached extended attribute entry. A corrupted filesystem can cause an entry with a saturated reference count to be selected repeatedly, leading to a task hang and blocking rmdir operations on the parent directory.

Risk Assessment

An attacker with access to a corrupted filesystem (e.g., by mounting a crafted image) can trigger a kernel hang, resulting in a denial of service (DoS) across the system. Without the patch, the reference count overflow may also be exploitable, potentially leading to further compromise when combined with other corruption.

Recommendation

Immediately update the Linux kernel to a version containing the fix (commit ext4: stop retrying saturated xattr cache entries). Before mounting untrusted ext4 filesystem images, validate them with fsck and consider using read-only mode.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: ext4: stop retrying saturated xattr cache entries ext4_xattr_block_set() retries when a cache entry selected for reuse has a saturated reference count after taking the buffer lock. The retry returns to the mbcache lookup without making that entry ineligible, so it can select the same unusable entry indefinitely. A task spinning there can hold the parent directory's i_rwsem and leave concurrent rmdir callers blocked. Normally a reusable entry has a reference count below EXT4_XATTR_REFCOUNT_MAX because the count and MBE_REUSABLE_B are updated under the same buffer lock. A corrupted filesystem can violate that invariant. The syzbot reproducer reports allocator and xattr corruption before triggering this retry loop. Check the untrusted on-disk count before incrementing it, avoiding overflow, and clear MBE_REUSABLE_B when it is already saturated. The next lookup then skips the entry that was just proven unusable. This mirrors the normal transition at EXT4_XATTR_REFCOUNT_MAX; the release path marks the entry reusable again on the exact 1024-to-1023 transition. Using the same QEMU harness and guest parameters, current unpatched Linux hung in 6 of 8 420-second trials with the do_rmdir signature; representative NMI backtraces caught the owner spinning in ext4_xattr_block_set(). The patched kernel completed 28 of 28 trials without a hung-task report; the final twelve trials exercised the reviewed overflow-safe form of the change. syzbot's patch testing also completed without reproducing the hang.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS