In the Linux kernel, the following vulnerability has been resolved:
smb: client: fix crypto buffers in non-linear memory
The crypto API, through the scatterlist API, expects input buffers to be in linear memory. We handle this with the cifs_sg_set_buf() helper that converts vmalloc'd memory to their corresponding pages.
However, when we allocate our aead_request buffer (@creq in smb2ops.c::crypt_message()), we do so with kvzalloc(), which possibly puts aead_request->__ctx in vmalloc area.
AEAD algorithm then uses ->__ctx for its private/internal data and operations, and uses sg_set_buf() for such data on a few places.
This works fine as long as @creq falls into kmalloc zone (small requests) or vmalloc'd memory is still within linear range.
Tasks' stacks are vmalloc'd by default (CONFIG_VMAP_STACK=y), so too many tasks will increment the base stacks' addresses to a point where virt_addr_valid(buf) will fail (BUG() in sg_set_buf()) when that happens.
In practice: too many parallel reads and writes on an encrypted mount will trigger this bug.
To fix this, always alloc @creq with kmalloc() instead. Also drop the @sensitive_size variable/arguments since kfree_sensitive() doesn't need it.
Backtrace:
[ 945.272081] ------------[ cut here ]------------ [ 945.272774] kernel BUG at include/linux/scatterlist.h:209! [ 945.273520] Oops: invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC NOPTI [ 945.274412] CPU: 7 UID: 0 PID: 56 Comm: kworker/u33:0 Kdump: loaded Not tainted 6.15.0-lku-11779-g8e9d6efccdd7-dirty #1 PREEMPT(voluntary) [ 945.275736] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-2-gc13ff2cd-prebuilt.qemu.org 04/01/2014 [ 945.276877] Workqueue: writeback wb_workfn (flush-cifs-2) [ 945.277457] RIP: 0010:crypto_gcm_init_common+0x1f9/0x220 [ 945.278018] Code: b0 00 00 00 48 83 c4 08 5b 5d 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc 48 c7 c0 00 00 00 80 48 2b 05 5c 58 e5 00 e9 58 ff ff ff <0f> 0b 0f 0b 0f 0b 0f 0b 0f 0b 0f 0b 48 c7 04 24 01 00 00 00 48 8b [ 945.279992] RSP: 0018:ffffc90000a27360 EFLAGS: 00010246 [ 945.280578] RAX: 0000000000000000 RBX: ffffc90001d85060 RCX: 0000000000000030 [ 945.281376] RDX: 0000000000080000 RSI: 0000000000000000 RDI: ffffc90081d85070 [ 945.282145] RBP: ffffc90001d85010 R08: ffffc90001d85000 R09: 0000000000000000 [ 945.282898] R10: ffffc90001d85090 R11: 0000000000001000 R12: ffffc90001d85070 [ 945.283656] R13: ffff888113522948 R14: ffffc90001d85060 R15: ffffc90001d85010 [ 945.284407] FS: 0000000000000000(0000) GS:ffff8882e66cf000(0000) knlGS:0000000000000000 [ 945.285262] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 945.285884] CR2: 00007fa7ffdd31f4 CR3: 000000010540d000 CR4: 0000000000350ef0 [ 945.286683] Call Trace: [ 945.286952] <TASK> [ 945.287184] ? crypt_message+0x33f/0xad0 [cifs] [ 945.287719] crypto_gcm_encrypt+0x36/0xe0 [ 945.288152] crypt_message+0x54a/0xad0 [cifs] [ 945.288724] smb3_init_transform_rq+0x277/0x300 [cifs] [ 945.289300] smb_send_rqst+0xa3/0x160 [cifs] [ 945.289944] cifs_call_async+0x178/0x340 [cifs] [ 945.290514] ? __pfx_smb2_writev_callback+0x10/0x10 [cifs] [ 945.291177] smb2_async_writev+0x3e3/0x670 [cifs] [ 945.291759] ? find_held_lock+0x32/0x90 [ 945.292212] ? netfs_advance_write+0xf2/0x310 [ 945.292723] netfs_advance_write+0xf2/0x310 [ 945.293210] netfs_write_folio+0x346/0xcc0 [ 945.293689] ? __pfx__raw_spin_unlock_irq+0x10/0x10 [ 945.294250] netfs_writepages+0x117/0x460 [ 945.294724] do_writepages+0xbe/0x170 [ 945.295152] ? find_held_lock+0x32/0x90 [ 945.295600] ? kvm_sched_clock_read+0x11/0x20 [ 945.296103] __writeback_single_inode+0x56/0x4b0 [ 945.296643] writeback_sb_inodes+0x229/0x550 [ 945.297140] __writeback_inodes_wb+0x4c/0xe0 [ 945.297642] wb_writeback+0x2f1/0x3f0 [ 945.298069] wb_workfn+0x300/0x490 [ 945.298472] process_one_work+0x1fe/0x590 [ 945.298949] worker_thread+0x1ce/0x3c0 [ 945.299397] ? __pfx_worker_thread+0x10/0x10 [ 945.299900] kthr ---truncated---
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade python3-perf6.12Upgrade kernel6.12-headersUpgrade kernel6.12-tools-debuginfoUpgrade kernel-livepatch-6.12.53-69.119Upgrade kernel6.12-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-develUpgrade perf6.12Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-tools-develUpgrade kernel6.12-modules-extraUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12Upgrade kernel6.12-libbpf-staticUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-libbpf-develUpgrade kernel6.12-toolsUpgrade perf6.12-debuginfoUpgrade kernel6.12-libbpfUpgrade bpftool6.12 | Dec 9, 2025 | Oct 28, 2025 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Dec 11, 2025 | Oct 28, 2025 |
| Suse | — | Upgrade kernel-zfcpdumpUpgrade kernel-defaultUpgrade kernel-docsUpgrade kernel-64kbUpgrade kernel-default-develUpgrade kernel-default-baseUpgrade kernel-64kb-develUpgrade reiserfs-kmp-defaultUpgrade kernel-develUpgrade kernel-symsUpgrade kernel-sourceUpgrade kernel-default-extraUpgrade kernel-obs-buildUpgrade kernel-macros | Dec 5, 2025 | Nov 11, 2025 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-xilinxUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-aws-64kUpgrade linux-image-oracleUpgrade linux-image-ibm-classicUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-gke-6.8Upgrade linux-image-oracle-6.17Upgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-raspi-6.17Upgrade linux-image-6.17.0-1008-azureUpgrade linux-image-6.17.0-1007-gcpUpgrade linux-image-6.17.0-1008-raspiUpgrade linux-image-aws-64k-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-6.8.0-106-genericUpgrade linux-image-6.8.0-106-fipsUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.17.0-1007-awsUpgrade linux-image-azure-6.8Upgrade linux-image-6.17.0-14-generic-64kUpgrade linux-image-realtime-6.17Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-aws-fips-6.8Upgrade linux-image-awsUpgrade linux-image-generic-64k-6.8Upgrade linux-image-oem-22.04bUpgrade linux-image-generic-6.8Upgrade linux-image-kvmUpgrade linux-image-gkeop-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-virtualUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.17.0-1007-oracleUpgrade linux-image-oem-22.04cUpgrade linux-image-azure-fipsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1050-awsUpgrade linux-image-oem-6.17Upgrade linux-image-gke-64k-6.8Upgrade linux-image-virtual-6.17Upgrade linux-image-6.17.0-1007-aws-64kUpgrade linux-image-oracle-64kUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.17.0-1006-realtimeUpgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-fips-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-lowlatencyUpgrade linux-image-gcp-6.8Upgrade linux-image-azure-6.17Upgrade linux-image-oracle-6.8Upgrade linux-image-generic-6.17Upgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-gcp-6.17Upgrade linux-image-fipsUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-6.17.0-1011-oemUpgrade linux-image-nvidia-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-gke-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidiaUpgrade linux-image-6.17.0-1007-oracle-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-aws-6.17Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-gcp-64kUpgrade linux-image-azureUpgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-lowlatency-6.8Upgrade linux-image-aws-64k-6.17Upgrade linux-image-gkeopUpgrade linux-image-genericUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-intel-iotgUpgrade linux-image-realtimeUpgrade linux-image-generic-64k-6.17Upgrade linux-image-gcp-fipsUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gkeUpgrade linux-image-gcp-64k-6.17Upgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-virtual-6.8Upgrade linux-image-6.17.0-14-genericUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-6.17.0-1007-gcp-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oracle-64k-6.17Upgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-gcp-64k-6.8 | Feb 13, 2026 | Feb 12, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub