xfs: fail recovery on a committed log item with no regions
Summary
| CVE | CVE-2026-64187 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-07-20 17:18:21 UTC |
| Updated | 2026-07-20 17:18:21 UTC |
| 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) |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 89cebc8477290b152618ffa110bbeae340d50900 d50b1fd066d66ceb548ba43e332cfe8a47e5e55a git |
Not specified |
| CNA |
Linux |
Linux |
affected 89cebc8477290b152618ffa110bbeae340d50900 d98f22d2e11e0a36493aeb25b2933571ee90d9a4 git |
Not specified |
| CNA |
Linux |
Linux |
affected 89cebc8477290b152618ffa110bbeae340d50900 cccbabeb9a18fcb978d76d6047f2b59214aa7749 git |
Not specified |
| CNA |
Linux |
Linux |
affected 89cebc8477290b152618ffa110bbeae340d50900 2094dab19d45c487285617b7b68913d0cc0c1211 git |
Not specified |
| CNA |
Linux |
Linux |
affected 4.3 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 4.3 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.96 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.39 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.1.4 7.1.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2-rc4 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/2094dab19d45c487285617b7b68913d0cc0c1211 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/d98f22d2e11e0a36493aeb25b2933571ee90d9a4 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/d50b1fd066d66ceb548ba43e332cfe8a47e5e55a |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/cccbabeb9a18fcb978d76d6047f2b59214aa7749 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.