ksmbd: fix null pointer dereference in compare_guid_key()
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-476.
Summary
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null pointer dereference in compare_guid_key() session_fd_check() walks the per-inode m_op_list during durable-handle session teardown and sets op->conn = NULL for every opinfo whose conn matched the closing session's connection. The matching opinfo, however, stays linked in its per-ClientGuid lease_table_list entry's lb->lease_list because destroy_lease_table() only runs on full TCP-connection teardown, not on SESSION_LOGOFF. If the same TCP connection then negotiates a fresh session with the same ClientGuid (ClientGuid is bound to NEGOTIATE, not the session, and is unchanged across LOGOFF + SETUP) and issues a SMB2 CREATE with a lease context on a different inode, find_same_lease_key() walks lb->lease_list, reaches the stale opinfo, and calls compare_guid_key(), which unconditionally dereferences opinfo->conn->ClientGUID. The conn pointer is NULL and the kernel panics. Reproducer requires only a successful SMB2 SESSION_SETUP and a share configured with 'durable handles = yes'. KASAN report on mainline 70390501d194: general protection fault, probably for non-canonical address 0xdffffc0000000069: 0000 [#1] SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000348-0x000000000000034f] Workqueue: ksmbd-io handle_ksmbd_work RIP: 0010:bcmp+0x5b/0x230 Call Trace: compare_guid_key+0x4b/0xd0 find_same_lease_key+0x324/0x690 smb2_open+0x6aea/0x8e60 handle_ksmbd_work+0x796/0xee0 ... Faulting address 0x348 is the offset of ClientGUID within struct ksmbd_conn, confirming opinfo->conn was NULL. Read opinfo->conn once and bail out if it has been cleared by a concurrent session_fd_check(). A half-detached opinfo cannot be the owner of an active lease, so returning 0 is the correct match result.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 6.6.32 to before 6.6.142 | 6.6.142 | Patch available | CNA |
| Linux | Linux | 6.9 and later | 6.6.142, 6.12.92, 6.18.34, 7.0.11, 7.1 | Patch available | CNA |
- Linux VendorLinux Affected 6.6.32 to before 6.6.142 Fixed in 6.6.142 Patch available CNA
- Linux VendorLinux Affected 6.9 and later Fixed in 6.6.142, 6.12.92, 6.18.34, 7.0.11, 7.1 Patch available CNA
CPE configurations NVD · 5
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.6.32 to before 6.6.142; 6.9 to before 6.12.92; 6.13 to before 6.18.34; 6.19 to before 7.0.11 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* | 7.1 rc1 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* | 7.1 rc2 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* | 7.1 rc3 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:* | 7.1 rc4 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 6.6.32 to before 6.6.142; 6.9 to before 6.12.92; 6.13 to before 6.18.34; 6.19 to before 7.0.11 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* Versions 7.1 rc1 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* Versions 7.1 rc2 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* Versions 7.1 rc3 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:* Versions 7.1 rc4 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 6.6.142
- Fix · CNA Linux (Linux) Fixed in 6.6.142, 6.12.92, 6.18.34, 7.0.11, 7.1
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
Not affected: 5 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2026-64141
- 2026-10-03 Alias added: GHSA-5c3g-3v2r-672g
- 2026-10-13 Affected versions changed · Red Hat
- 2026-10-28 EPSS moved to the 50th–90th percentile
References
Patch 5
- https://git.kernel.org/stable/c/e43cb36d4d7827710cfcd48e95e29a507f0d87be
- https://git.kernel.org/stable/c/0836081b394ca074d1b910f2b990ff7b4b4404c7
- https://git.kernel.org/stable/c/cd5c1b75d2f454f625d7dc55bd3ae21d0855f6ad
- https://git.kernel.org/stable/c/af86896ca3239e25a6bd7d352213371265073d38
- https://git.kernel.org/stable/c/4b83cbc4c15f09b000cc06f033f64b0824b6dc87
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2026-64141 · CVE Program
- CVE-2026-64141 · NVD
- FIRST EPSS
- GHSA-5c3g-3v2r-672g · GitHub Advisory Database · CC BY 4.0
- CVE-2026-64141 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences