{"id":"CVE-2026-80808","title":"ext4: stop retrying saturated xattr cache entries","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\next4: stop retrying saturated xattr cache entries\n\next4_xattr_block_set() retries when a cache entry selected for reuse\nhas a saturated reference count after taking the…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 1a56cd972ce121b6cf2517a47a578782bbd2ec95 < 119a2f053242ed75bdd2ebc95baf3ae7db6ccacf","Linux >= 1be97463696c7291a3e1547614e96432b0bd3add < 61631352a5b405c89be579de00903b72e6888aa4","Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 8865cd664484517703df5c18a965dc3227572b87","Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < a40c45268f4358207aa9c53764fed2e05f62986a","Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 889ec86464d261f026f6c334040cfc6c58c99d58","Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 4902a5cba21aeaf91e6b29e20e0967a5f6abdcd9","Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 55ee6533c1db7f7656fa8dd19637f3f8b8c08dc5","Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < dbd4aea175ad3c46436acb251e817b4374628072","Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 54b6bd40898de7906acb2bccc9a96d1b8e6b4323","Linux 98953044b3cdb2cb7d82e7365b659e2ed4f4ca4d","Linux af8ecc8d20e72130771cc076bce7fcf17ccda6c4","Linux c6fac5cf5a5098732623bcd00a8a3eb9f5465144","Linux 96fa141fa295ae9428da73c56c9852053b575c04","Linux >= 5.10.163 < 5.10.267","Linux >= 5.15.61 < 5.15.218","Linux >= 4.19.270 < 4.20","Linux >= 5.4.229 < 5.5","Linux >= 5.18.18 < 5.19","Linux >= 5.19.2 < 5.20","Linux 6.0"],"published":"2026-09-04","updated":"2026-10-19","sourceUpdated":"2026-10-19T08:44:01.677Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-80808","references":[{"url":"https://git.kernel.org/stable/c/119a2f053242ed75bdd2ebc95baf3ae7db6ccacf"},{"url":"https://git.kernel.org/stable/c/61631352a5b405c89be579de00903b72e6888aa4"},{"url":"https://git.kernel.org/stable/c/8865cd664484517703df5c18a965dc3227572b87"},{"url":"https://git.kernel.org/stable/c/a40c45268f4358207aa9c53764fed2e05f62986a"},{"url":"https://git.kernel.org/stable/c/889ec86464d261f026f6c334040cfc6c58c99d58"},{"url":"https://git.kernel.org/stable/c/4902a5cba21aeaf91e6b29e20e0967a5f6abdcd9"},{"url":"https://git.kernel.org/stable/c/55ee6533c1db7f7656fa8dd19637f3f8b8c08dc5"},{"url":"https://git.kernel.org/stable/c/dbd4aea175ad3c46436acb251e817b4374628072"},{"url":"https://git.kernel.org/stable/c/54b6bd40898de7906acb2bccc9a96d1b8e6b4323"}],"tags":["cve.org"],"epss":0.00195,"epssPercentile":0.08588,"ingestedAt":"2026-10-19T09:16:01.524Z","slug":"CVE-2026-80808","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\next4: stop retrying saturated xattr cache entries\n\next4_xattr_block_set() retries when a cache entry selected for reuse\nhas a saturated reference count after taking the buffer lock. The retry\nreturns to the mbcache lookup without making that entry ineligible, so\nit can select the same unusable entry indefinitely. A task spinning\nthere can hold the parent directory's i_rwsem and leave concurrent\nrmdir callers blocked.\n\nNormally a reusable entry has a reference count below\nEXT4_XATTR_REFCOUNT_MAX because the count and MBE_REUSABLE_B are\nupdated under the same buffer lock. A corrupted filesystem can violate\nthat invariant. The syzbot reproducer reports allocator and xattr\ncorruption before triggering this retry loop.\n\nCheck the untrusted on-disk count before incrementing it, avoiding\noverflow, and clear MBE_REUSABLE_B when it is already saturated. The\nnext lookup then skips the entry that was just proven unusable. This\nmirrors the normal transition at EXT4_XATTR_REFCOUNT_MAX; the release\npath marks the entry reusable again on the exact 1024-to-1023\ntransition.\n\nUsing the same QEMU harness and guest parameters, current unpatched\nLinux hung in 6 of 8 420-second trials with the do_rmdir signature;\nrepresentative NMI backtraces caught the owner spinning in\next4_xattr_block_set(). The patched kernel completed 28 of 28 trials\nwithout a hung-task report; the final twelve trials exercised the\nreviewed overflow-safe form of the change. syzbot's patch testing also\ncompleted without reproducing the hang.\n\n## Affected\n\n- `Linux >= 1a56cd972ce121b6cf2517a47a578782bbd2ec95 < 119a2f053242ed75bdd2ebc95baf3ae7db6ccacf`\n- `Linux >= 1be97463696c7291a3e1547614e96432b0bd3add < 61631352a5b405c89be579de00903b72e6888aa4`\n- `Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 8865cd664484517703df5c18a965dc3227572b87`\n- `Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < a40c45268f4358207aa9c53764fed2e05f62986a`\n- `Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 889ec86464d261f026f6c334040cfc6c58c99d58`\n- `Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 4902a5cba21aeaf91e6b29e20e0967a5f6abdcd9`\n- `Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 55ee6533c1db7f7656fa8dd19637f3f8b8c08dc5`\n- `Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < dbd4aea175ad3c46436acb251e817b4374628072`\n- `Linux >= 65f8b80053a1b2fd602daa6814e62d6fa90e5e9b < 54b6bd40898de7906acb2bccc9a96d1b8e6b4323`\n- `Linux 98953044b3cdb2cb7d82e7365b659e2ed4f4ca4d`\n- `Linux af8ecc8d20e72130771cc076bce7fcf17ccda6c4`\n- `Linux c6fac5cf5a5098732623bcd00a8a3eb9f5465144`\n- `Linux 96fa141fa295ae9428da73c56c9852053b575c04`\n- `Linux >= 5.10.163 < 5.10.267`\n- `Linux >= 5.15.61 < 5.15.218`\n- `Linux >= 4.19.270 < 4.20`\n- `Linux >= 5.4.229 < 5.5`\n- `Linux >= 5.18.18 < 5.19`\n- `Linux >= 5.19.2 < 5.20`\n- `Linux 6.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}