CVE-2026-64448 json
smb: client: restrict implied bcc[0] exemption to responses without data area
published 2026-07-25 3 mo ago modified 2026-10-19 20 d ago also EUVD-2026-48792
- cvss
- 8.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
smb: client: restrict implied bcc[0] exemption to responses without data area
smb2_check_message() has a long-standing quirk that accepts a response whose calculated length is one byte larger than the bytes actually received ("server can return one byte more due to implied bcc[0]"). This was introduced to accommodate servers that omit the trailing bcc[0] overlap byte when no data area is present.
However, the exemption is applied unconditionally, regardless of whether the command actually carries a data area (has_smb2_data_area[]). When a response with a data area is subject to the +1 exemption, the reported data can extend one byte beyond the bytes actually received, yet smb2_check_message() still accepts it. The subsequent decoder then reads past the end of the receive buffer. This is reachable during NEGOTIATE and SESSION_SETUP, before the session is established.
The resulting out-of-bounds reads are visible under KASAN when mounting against a non-conforming server; both the SPNEGO/negTokenInit and the NTLMSSP challenge decoders are affected:
BUG: KASAN: slab-out-of-bounds in asn1_ber_decoder+0x16a7/0x1b00 Read of size 1 at addr ffff8880084d67c0 by task mount.cifs/81 CPU: 1 UID: 0 PID: 81 Comm: mount.cifs Not tainted 7.1.0-rc6 #1 Call Trace: <TASK> dump_stack_lvl+0x4e/0x70 print_report+0x157/0x4c9 kasan_report+0xce/0x100 asn1_ber_decoder+0x16a7/0x1b00 decode_negTokenInit+0x19/0x30 SMB2_negotiate+0x31d9/0x4c90 cifs_negotiate_protocol+0x1f2/0x3f0 cifs_get_smb_ses+0x93f/0x17e0 cifs_mount_get_session+0x7f/0x3a0 cifs_mount+0xb4/0xcf0 cifs_smb3_do_mount+0x23a/0x1500 smb3_get_tree+0x3b0/0x630 vfs_get_tree+0x82/0x2d0 fc_mount+0x10/0x1b0 path_mount+0x50d/0x1de0 __x64_sys_mount+0x20b/0x270 do_syscall_64+0xee/0x590 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> Allocated by task 85: kmem_cache_alloc_noprof+0x106/0x380 mempool_alloc_noprof+0x116/0x1e0 cifs_small_buf_get+0x31/0x80 allocate_buffers+0x10d/0x2b0 cifs_demultiplex_thread+0x1d5/0x1d50 kthread+0x2c6/0x390 ret_from_fork+0x36e/0x5a0 ret_from_fork_asm+0x1a/0x30 The buggy address is located 0 bytes to the right of allocated 448-byte region [ffff8880084d6600, ffff8880084d67c0) which belongs to the cache cifs_small_rq of size 448
BUG: KASAN: slab-out-of-bounds in kmemdup_noprof+0x36/0x50 Read of size 329 at addr ffff88800726c678 by task mount.cifs/89 CPU: 0 UID: 0 PID: 89 Comm: mount.cifs Tainted: G B 7.1.0-rc6 #1 Call Trace: <TASK> dump_stack_lvl+0x4e/0x70 print_report+0x157/0x4c9 kasan_report+0xce/0x100 kasan_check_range+0x10f/0x1e0 __asan_memcpy+0x23/0x60 kmemdup_noprof+0x36/0x50 decode_ntlmssp_challenge+0x457/0x680 SMB2_sess_auth_rawntlmssp_negotiate+0x6f0/0xcb0 SMB2_sess_setup+0x219/0x4f0 cifs_setup_session+0x248/0xaf0 cifs_get_smb_ses+0xf79/0x17e0 cifs_mount_get_session+0x7f/0x3a0 cifs_mount+0xb4/0xcf0 cifs_smb3_do_mount+0x23a/0x1500 smb3_get_tree+0x3b0/0x630 vfs_get_tree+0x82/0x2d0 fc_mount+0x10/0x1b0 path_mount+0x50d/0x1de0 __x64_sys_mount+0x20b/0x270 do_syscall_64+0xee/0x590 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> Allocated by task 93: kmem_cache_alloc_noprof+0x106/0x380 mempool_alloc_noprof+0x116/0x1e0 cifs_small_buf_get+0x31/0x80 allocate_buffers+0x10d/0x2b0 cifs_demultiplex_thread+0x1d5/0x1d50 kthread+0x2c6/0x390 ret_from_fork+0x36e/0x5a0 ret_from_fork_asm+0x1a/0x30 The buggy address is located 120 bytes inside of allocated 448-byte region [ffff88800726c600, ffff88800726c7c0) which belongs to the cache cifs_small_rq of size 448
Restrict the +1 exemption to responses that have no data area, so that it still covers the bcc[0] omission it was meant for. When a data area is present, the +1 discrepancy instead means the reported data length overruns the ---truncated---
Patch / fix
- Linux Linux 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4, 7.2
- linux Debian 12 6.1.180-1
- linux Debian 13 6.12.96-1
- linux Debian 14 7.1.4-1
- linux-6.12 Debian 12 6.12.100-1~deb12u1
debian advisories DEBIAN-CVE-2026-64448
- linux Ubuntu 22.04 LTS 5.15.0-198.208
- linux Ubuntu 24.04 LTS 6.8.0-147.147
- linux Ubuntu 26.04 LTS 7.0.0-31.31
- linux-aws Ubuntu 22.04 LTS 5.15.0-1117.124
- linux-aws Ubuntu 24.04 LTS 6.8.0-1067.70
- linux-aws Ubuntu 26.04 LTS 7.0.0-1012.12
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1118.128
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1071.79
ubuntu advisories UBUNTU-CVE-2026-64448
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.39.1
- kernel-rt Linux Micro 6.2 6.12.0-160000.39.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.39.1
- kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.39.1
- kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.39.1.160000.2.26
- kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.39.1
- kernel-azure SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.39.1
- kernel-obs-qa SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.39.1
suse advisories SUSE-SU-2026:4687-1SUSE-SU-2026:24197-1SUSE-SU-2026:24184-1SUSE-SU-2026:24235-1SUSE-SU-2026:24179-1SUSE-SU-2026:4254-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.39.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.39.1
opensuse advisories openSUSE-SU-2026:22091-1openSUSE-SU-2026:11476-1
- git.kernel.org/stable/c/8d0bbc78046d264bbf6a574ea6f9072258a43e35 commit
- git.kernel.org/stable/c/b6a381c01e2ac98a48e32ac0f2a45bbadd9e26b0 commit
- git.kernel.org/stable/c/31c6312608c60b72a1feb99a5afb680645a3e8a3 commit
- git.kernel.org/stable/c/573e502d14714d2947e22e7eff40ec20a6a44a42 commit
- git.kernel.org/stable/c/419ec1b604d7fb60c10aec2dc062371f9fcd4940 commit
- git.kernel.org/stable/c/ceb875a375dedbf51c9425c1d13a2d7a8435c08c commit
- git.kernel.org/stable/c/6e9d10f62773b99bd927940fd9cbdfe7207e23ff commit
- git.kernel.org/stable/c/53b7c271f06be4dd5cfc8c6ef552a8355c891a7f commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-64448 updated cvss 6.1
kernel: smb: client: restrict implied bcc[0] exemption to responses without data area
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 23 d ago
Exploit prediction
0.46% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-125 Out-of-bounds Read
- Technology feeds
References
-
git.kernel.org
/stable/c/8d0bbc78046d264bbf6a574ea6f9072258a43e35
patch
-
git.kernel.org
/stable/c/b6a381c01e2ac98a48e32ac0f2a45bbadd9e26b0
patch
-
git.kernel.org
/stable/c/31c6312608c60b72a1feb99a5afb680645a3e8a3
patch
-
git.kernel.org
/stable/c/573e502d14714d2947e22e7eff40ec20a6a44a42
patch
-
git.kernel.org
/stable/c/419ec1b604d7fb60c10aec2dc062371f9fcd4940
patch
-
git.kernel.org
/stable/c/ceb875a375dedbf51c9425c1d13a2d7a8435c08c
patch
-
git.kernel.org
/stable/c/6e9d10f62773b99bd927940fd9cbdfe7207e23ff
patch
-
git.kernel.org
/stable/c/53b7c271f06be4dd5cfc8c6ef552a8355c891a7f
patch
Sources
- CVE List CVE-2026-64448
- NVD CVE-2026-64448
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.