CVE-2026-98443
Linux: xfs: fix cursor and pointer handling when recovering iunlink buckets
CVSS
NoneNot scoredExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.17%Chance of exploitation activity in the next 30 days, higher than 5% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in47a948ba653a463d429e02fda2f06a3d6b78666dAlso 8c9d5b8a96d6b93eb24e07b4163c89341ba29bd1, 66a2179d02668f8df44b1a249899006f3ba38ea0 and 2 moreCVE List
What fixes it
- 47a948ba653a463d429e02fda2f06a3d6b78666dLinuxCVE List
- 8c9d5b8a96d6b93eb24e07b4163c89341ba29bd1LinuxCVE List
- 66a2179d02668f8df44b1a249899006f3ba38ea0LinuxCVE List
- 961c717e6bf0e53c2c2b1fe4aef1add9390fedabLinuxCVE List
- 65f39d09d73718611cee40399179323b5d4ead00LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
xfs: fix cursor and pointer handling when recovering iunlink buckets
LOLLM pointed out a bug in xlog_recover_iunlink_bucket:
- We don't null out prev_ip after releasing it, which can lead to UAF
problems if the inodegc flush call in the loop fails.
at which point I noticed even more bugs:
- If the inodegc flush inside the loop fails, we also leak @ip.
- We set prev_agino to agino having already advanced agino, which
results in inodes with i_prev_unlinked set to itself.
- If we exit the bottom of the loop with prev_ip set, then prev_ip
aliases ip and we also set its i_prev_unlinked to itself.
Bugs 3 and 4 introduce loops into the unlinked list, though these loops don't surface because we immediately flush each unlinked inode after loading it.
Fix all of these issues.
Text from CVE List
Affected versions 12
- Linuxaffected: 04755d2e5821b3afbaadd09fe5df58d04de36484 before 47a948ba653a463d429e02fda2f06a3d6b78666dCVE List
- Linuxaffected: 04755d2e5821b3afbaadd09fe5df58d04de36484 before 8c9d5b8a96d6b93eb24e07b4163c89341ba29bd1CVE List
- Linuxaffected: 04755d2e5821b3afbaadd09fe5df58d04de36484 before 66a2179d02668f8df44b1a249899006f3ba38ea0CVE List
- Linuxaffected: 04755d2e5821b3afbaadd09fe5df58d04de36484 before 961c717e6bf0e53c2c2b1fe4aef1add9390fedabCVE List
- Linuxaffected: 04755d2e5821b3afbaadd09fe5df58d04de36484 before 65f39d09d73718611cee40399179323b5d4ead00CVE List
- Linuxaffected: 6.0CVE List
- Linuxunaffected: all versions before 6.0CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.113 through 6.12.*CVE List
- Linuxunaffected: 6.18.55 through 6.18.*CVE List
- Linuxunaffected: 7.2.9 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/47a948ba653a463d429e02fda2f06a3d6b78666dReferencevia CVE List
- git.kernel.org/stable/c/8c9d5b8a96d6b93eb24e07b4163c89341ba29bd1Referencevia CVE List
- git.kernel.org/stable/c/66a2179d02668f8df44b1a249899006f3ba38ea0Referencevia CVE List
- git.kernel.org/stable/c/961c717e6bf0e53c2c2b1fe4aef1add9390fedabReferencevia CVE List
- git.kernel.org/stable/c/65f39d09d73718611cee40399179323b5d4ead00Referencevia CVE List