ext4: stop retrying saturated xattr cache entries
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
CVE-2026-80808
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-80808
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "1a56cd972ce121b6cf2517a47a578782bbd2ec95",
"lessThan": "119a2f053242ed75bdd2ebc95baf3ae7db6ccacf",
"versionType": "git"
},
{
"status": "affected",
"version": "1be97463696c7291a3e1547614e96432b0bd3add",
"lessThan": "61631352a5b405c89be579de00903b72e6888aa4",
"versionType": "git"
},
{
"status": "affected",
"version": "65f8b80053a1b2fd602daa6814e62d6fa90e5e9b",
"lessThan": "8865cd664484517703df5c18a965dc3227572b87",
"versionType": "git"
},
{
"status": "affected",
"version": "65f8b80053a1b2fd602daa6814e62d6fa90e5e9b",
"lessThan": "a40c45268f4358207aa9c53764fed2e05f62986a",
"versionType": "git"
},
{
"status": "affected",
"version": "65f8b80053a1b2fd602daa6814e62d6fa90e5e9b",
"lessThan": "889ec86464d261f026f6c334040cfc6c58c99d58",
"versionType": "git"
},
{
"status": "affected",
"version": "65f8b80053a1b2fd602daa6814e62d6fa90e5e9b",
"lessThan": "4902a5cba21aeaf91e6b29e20e0967a5f6abdcd9",
"versionType": "git"
},
{
"status": "affected",
"version": "65f8b80053a1b2fd602daa6814e62d6fa90e5e9b",
"lessThan": "55ee6533c1db7f7656fa8dd19637f3f8b8c08dc5",
"versionType": "git"
},
{
"status": "affected",
"version": "65f8b80053a1b2fd602daa6814e62d6fa90e5e9b",
"lessThan": "dbd4aea175ad3c46436acb251e817b4374628072",
"versionType": "git"
},
{
"status": "affected",
"version": "65f8b80053a1b2fd602daa6814e62d6fa90e5e9b",
"lessThan": "54b6bd40898de7906acb2bccc9a96d1b8e6b4323",
"versionType": "git"
},
{
"status": "affected",
"version": "98953044b3cdb2cb7d82e7365b659e2ed4f4ca4d",
"versionType": "git"
},
{
"status": "affected",
"version": "af8ecc8d20e72130771cc076bce7fcf17ccda6c4",
"versionType": "git"
},
{
"status": "affected",
"version": "c6fac5cf5a5098732623bcd00a8a3eb9f5465144",
"versionType": "git"
},
{
"status": "affected",
"version": "96fa141fa295ae9428da73c56c9852053b575c04",
"versionType": "git"
},
{
"status": "affected",
"version": "5.10.163",
"lessThan": "5.10.267",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.15.61",
"lessThan": "5.15.218",
"versionType": "semver"
},
{
"status": "affected",
"version": "4.19.270",
"lessThan": "4.20",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.4.229",
"lessThan": "5.5",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.18.18",
"lessThan": "5.19",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.19.2",
"lessThan": "5.20",
"versionType": "semver"
}
],
"programFiles": [
"fs/ext4/xattr.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.0"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.0",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.267",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.218",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.185",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.154",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.106",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.47",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.1.11",
"versionType": "semver",
"lessThanOrEqual": "7.1.*"
},
{
"status": "unaffected",
"version": "7.2.1",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"fs/ext4/xattr.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-80808
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #34825 · Revision 1
- Added to Heist Feed
- Publisher date