CVE-2022-50668
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-12-09

Last updated on: 2025-12-09

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: ext4: fix deadlock due to mbcache entry corruption When manipulating xattr blocks, we can deadlock infinitely looping inside ext4_xattr_block_set() where we constantly keep finding xattr block for reuse in mbcache but we are unable to reuse it because its reference count is too big. This happens because cache entry for the xattr block is marked as reusable (e_reusable set) although its reference count is too big. When this inconsistency happens, this inconsistent state is kept indefinitely and so ext4_xattr_block_set() keeps retrying indefinitely. The inconsistent state is caused by non-atomic update of e_reusable bit. e_reusable is part of a bitfield and e_reusable update can race with update of e_referenced bit in the same bitfield resulting in loss of one of the updates. Fix the problem by using atomic bitops instead. This bug has been around for many years, but it became *much* easier to hit after commit 65f8b80053a1 ("ext4: fix race when reusing xattr blocks").
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-12-09
Last Modified
2025-12-09
Generated
2026-05-07
AI Q&A
2025-12-09
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability is a deadlock issue in the Linux kernel's ext4 filesystem related to extended attribute (xattr) blocks. When manipulating xattr blocks, the system can enter an infinite loop inside the ext4_xattr_block_set() function because it keeps trying to reuse an xattr block from the mbcache, but cannot do so due to an inconsistent reference count. This inconsistency arises because the cache entry is marked as reusable (e_reusable bit set) even though its reference count is too high. The root cause is a race condition during non-atomic updates of the e_reusable bit, which is part of a bitfield that can be updated concurrently with the e_referenced bit, leading to lost updates and an inconsistent state that causes the deadlock.


How can this vulnerability impact me? :

This vulnerability can cause the ext4 filesystem to deadlock indefinitely when manipulating extended attribute blocks, potentially leading to system hangs or unresponsiveness. This can affect system stability and availability, especially on systems relying on ext4 with extended attributes.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, update the Linux kernel to a version that includes the fix for the ext4 deadlock due to mbcache entry corruption. The fix involves using atomic bit operations to update the e_reusable bit, preventing the inconsistent state that causes the deadlock.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart