Skip to main content

Linux Kernel CVE-2026-64187

| EUVDEUVD-2026-46007 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-07-20 Linux GHSA-5fjh-93mh-6xvw
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

AV:L required to mount filesystem; PR:L reflects user mount rights; A:H for kernel panic; C and I are N.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
5.5 LOW
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 11, 2026 - 23:13 vuln.today
CVSS changed
Aug 11, 2026 - 20:07 NVD
5.5 (MEDIUM)
Patch available
Jul 20, 2026 - 18:18 EUVD
CVE Published
Jul 20, 2026 - 16:27 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 20, 2026 - 16:27 nvd
MEDIUM 5.5

DescriptionNVD

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)

AnalysisAI

NULL pointer dereference in the Linux kernel XFS log recovery path allows a local attacker to crash the kernel by mounting a crafted XFS filesystem image. The flaw exists in xlog_recover_reorder_trans() at fs/xfs/xfs_log_recover.c:1836, where a committed log transaction containing zero regions leaves ri_buf NULL, causing a fatal dereference when ITEM_TYPE() is called during recovery. EPSS is 0.16% (5th percentile) and no active exploitation has been observed; the vulnerability was discovered through an AI-assisted code audit, not in-the-wild activity.

Technical ContextAI

The XFS filesystem's journal recovery subsystem in the Linux kernel (fs/xfs/xfs_log_recover.c) is vulnerable. When xlog_recover_add_to_trans() processes a bare transaction header (len == sizeof(struct xfs_trans_header)) as the first operation in a transaction, it creates a log item (xlog_recover_item_t) with ri_cnt=0 and ri_buf=NULL. Because log headers can be split across op records, subsequent ops may still populate ri_buf legitimately. However, if the transaction commits with no region operations ever added, xlog_recover_reorder_trans() invokes ITEM_TYPE(), which dereferences *(unsigned short *)item->ri_buf[0].iov_base - a NULL pointer - producing a KASAN null-ptr-deref fault in the range [0x0000000000000000-0x0000000000000007]. The root cause class is CWE-476 (NULL Pointer Dereference). The normal runtime XFS commit path never emits such a zero-region committed transaction, so this defect is only reachable via a specially crafted on-disk log. Affected CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*.

RemediationAI

Upgrade to a patched Linux kernel release. Confirmed fix versions per EUVD are 7.2-rc4 (mainline), 7.1.4, 6.18.39, and 6.12.96 - select the appropriate stable branch for your deployment. The upstream fix commits are available at https://git.kernel.org/stable/c/2094dab19d45c487285617b7b68913d0cc0c1211 (mainline), https://git.kernel.org/stable/c/d50b1fd066d66ceb548ba43e332cfe8a47e5e55a, https://git.kernel.org/stable/c/cccbabeb9a18fcb978d76d6047f2b59214aa7749, and https://git.kernel.org/stable/c/d98f22d2e11e0a36493aeb25b2933571ee90d9a4. Where immediate patching is not possible, restrict who can mount XFS filesystems: revoke CAP_SYS_ADMIN and remove user-namespace mount permissions (e.g., set kernel.unprivileged_userns_clone=0 on applicable distributions) to ensure only privileged administrators can trigger log recovery. In virtualization environments, validate XFS images with xfs_repair before mounting. The trade-off of restricting mount privileges is reduced flexibility for non-root users mounting removable media or disk images. Additional oss-security discussion is available at https://seclists.org/oss-sec/2026/q3/230.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Micro 6.2 Fixed
openSUSE Leap 16.0 Fixed
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise Module for Basesystem 15 SP7 Affected

Share

CVE-2026-64187 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy