CVE-2026-64187

xfs: fail recovery on a committed log item with no regions

MEDIUM
5.5
CVSS Score
Published: July 20, 2026 at 04:27 PM UTC
Updated: August 17, 2026 at 05:17 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: xfs: fail recovery on a committed log item with no regions If the first op of a transaction is a bare transaction header (len == sizeof(struct xfs_trans_header)), xlog_recover_add_to_trans() adds an item but no region, leaving it on r_itemq with ri_cnt == 0 and ri_buf == NULL. The header can be split across op records, so later ops may still add regions; the item is only invalid if the transaction commits with none. The runtime commit path never emits such a transaction, so this only happens on a crafted log. It came from an AI-assisted code audit of the recovery parser. xlog_recover_reorder_trans() calls ITEM_TYPE() on the item, which reads *(unsigned short *)item->ri_buf[0].iov_base and faults on the NULL ri_buf. Reject it there, before the commit handlers that also read ri_buf[0]. KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] RIP: 0010:xlog_recover_reorder_trans (fs/xfs/xfs_log_recover.c:1836) xlog_recover_commit_trans (fs/xfs/xfs_log_recover.c:2043) xlog_recover_process_data (fs/xfs/xfs_log_recover.c:2501) xlog_do_recovery_pass (fs/xfs/xfs_log_recover.c:3244) xlog_recover (fs/xfs/xfs_log_recover.c:3493) xfs_log_mount (fs/xfs/xfs_log.c:618) xfs_mountfs (fs/xfs/xfs_mount.c:1034) xfs_fs_fill_super (fs/xfs/xfs_super.c:1938) vfs_get_tree (fs/super.c:1695) path_mount (fs/namespace.c:4161) __x64_sys_mount (fs/namespace.c:4367)

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.3 ≤ v < 5.15.2124.3 ≤ v < 6.1.1784.3 ≤ v < 6.12.964.3 ≤ v < 6.18.394.3 ≤ v < 6.6.1454.3 ≤ v < 7.1.44.3 ≤ v < 7.25.16 ≤ v < 6.1.1786.13 ≤ v < 6.18.396.19 ≤ v < 7.1.46.2 ≤ v < 6.6.1456.7 ≤ v < 6.12.967.2 rc17.2 rc27.2 rc389cebc8477290b152618ffa110bbeae340d50900
Vendor states this is fixed in 2094dab19d45c487285617b7b68913d0cc0c1211 (fixed)
Vendor states this is fixed in 226a3c8bea7163c39fe0a1c0ffc7ab7410ef3ba4 (fixed)
Vendor states this is fixed in 5105426424ad6981db827cc1ada835a488fab035 (fixed)
Vendor states this is fixed in cccbabeb9a18fcb978d76d6047f2b59214aa7749 (fixed)
Vendor states this is fixed in d0ae7ec3aa61db5140b107f0a63e017f63e56a96 (fixed)
Vendor states this is fixed in d50b1fd066d66ceb548ba43e332cfe8a47e5e55a (fixed)
Vendor states this is fixed in d98f22d2e11e0a36493aeb25b2933571ee90d9a4 (fixed)
Vendor states this is fixed in 4.3 (unaffected)
Vendor states this is fixed in 5.15.212 (unaffected)
Vendor states this is fixed in 6.1.178 (unaffected)
Vendor states this is fixed in 6.12.96 (unaffected)
Vendor states this is fixed in 6.18.39 (unaffected)
Vendor states this is fixed in 6.6.145 (unaffected)
Vendor states this is fixed in 7.1.4 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card