CVE Catalog

CVE-2026-98443

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.14%

3th percentile - higher than 3% of all known CVEs

Summary

In the Linux kernel, xlog_recover_iunlink_bucket (XFS subsystem) has multiple bugs: it does not null out prev_ip after releasing it (use-after-free risk), leaks @ip on inodegc flush failure, and mis-sets prev_agino and i_prev_unlinked, introducing loops into the unlinked list.

Risk Assessment

Use-after-free, memory leaks, and corruption of the unlinked inode list may occur, risking instability or failure of the XFS filesystem.

Recommendation

Update the Linux kernel to a version containing the xlog_recover_iunlink_bucket fixes and run consistency checks on XFS filesystems.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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: 1. 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: 2. If the inodegc flush inside the loop fails, we also leak @ip. 3. We set prev_agino to agino having already advanced agino, which results in inodes with i_prev_unlinked set to itself. 4. 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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS