Executive brief
The Linux kernel's ext4 filesystem can become unresponsive when managing extended attributes (metadata attached to files). A race condition in the memory block cache causes the system to infinitely retry reusing cached blocks, creating a denial-of-service condition that prevents filesystem operations from completing. This issue affected many kernel versions and became significantly easier to trigger in recent releases.
Technical details
This vulnerability is a race condition in the mbcache (memory block cache) layer affecting ext4's xattr (extended attributes) block handling. The root cause is a non-atomic bitfield update of the e_reusable flag, which can race with concurrent updates to the e_referenced flag, resulting in lost updates. This causes cache entries to be marked reusable even when their reference count is too high, leading to infinite loops in ext4_xattr_block_set() as the filesystem repeatedly attempts—but fails—to reuse the same xattr block. The issue requires no authentication and affects any system performing xattr operations on ext4 filesystems. The fix involves converting non-atomic bitfield operations to atomic bitops (set_bit/clear_bit/test_bit) to prevent the race condition. Patches are available across all affected kernel versions.
Affected products
- Linux Linux kernel Multiple versions; became much easier to hit after commit 65f8b80053a1 (approximately kernel 5.15+)
Timeline
- 2022-11-23: disclosed: Upstream commit a44e84a9b7764c72896f7241a0ec9ac7e7ef38dd
- 2023-01-07: patched: Merged into stable kernel branches starting Jan 2023
- 2025-12-09: other: Published to NVD as CVE-2022-50668