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:

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.
Published: 2026-10-18
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Use-after-free potentially leading to arbitrary code execution or denial of service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is a flaw in the XFS file system’s recovery logic for unlinked inode buckets. The code fails to clear a reference after it is released, which can create a use‑after‑free condition when the inode garbage‑collector flush operation fails. Other defects introduce memory leaks and self‑referencing pointers that can form loops in the unlinked list. An attacker able to trigger the garbage‑collection flush path could corrupt kernel memory, potentially leading to arbitrary code execution or a kernel panic.

Affected Systems

All Linux kernel versions that include the XFS file system and compile the xlog_recover_iunlink_bucket routine are impacted. No precise version range is supplied; the issue is identified by the generic Linux kernel product label. Distributions shipping a kernel that uses the unpatched XFS code are potentially affected.

Risk and Exploitability

The CVSS score is 7.8 and the EPSS score is <1%. The flaw is not listed in CISA’s KEV catalog. Exploitation would require triggering a failure in the inode‑gc flush path, suggesting a somewhat constrained local attack vector. Given the high severity score, the potential impact remains significant, but a successful exploit could still allow denial of service or local privilege escalation to root.

Generated by OpenCVE AI on October 24, 2026 at 15:25 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the kernel patch that includes the commit fixes listed in the advisory references; update to a kernel build that incorporates the corrected xlog_recover_iunlink_bucket code.
  • Verify that inode garbage‑collection flushes complete successfully by monitoring system logs (dmesg) for errors related to XFS inode handling and correct any configuration that could cause flush failures.
  • If a patched kernel is not immediately available, reboot the system to clear the inode list and prevent the creation of loops until the update can be applied.

Generated by OpenCVE AI on October 24, 2026 at 15:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Fri, 30 Oct 2026 12:45:00 +0000


Sat, 24 Oct 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}


Wed, 21 Oct 2026 13:15:00 +0000


Tue, 20 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 20 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sun, 18 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
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: 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.
Title xfs: fix cursor and pointer handling when recovering iunlink buckets
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-30T12:38:08.950Z

Reserved: 2026-09-25T10:25:14.349Z

Link: CVE-2026-98443

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:16:54.620

Modified: 2026-10-30T13:21:13.823

Link: CVE-2026-98443

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98443 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-24T15:30:14Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference