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 kernel6.12-develUpgrade perf6.12Upgrade kernel-livepatch-6.12.53-69.119Upgrade python3-perf6.12Upgrade kernel6.12-tools-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-debuginfoUpgrade kernel6.12-headersUpgrade perf6.12-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-libbpf-staticUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-toolsUpgrade kernel6.12-modules-extraUpgrade kernel6.12-tools-develUpgrade kernel6.12-libbpf-develUpgrade kernel6.12Upgrade kernel6.12-debuginfo-common-aarch64Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade 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-macrosUpgrade kernel-sourceUpgrade kernel-obs-buildUpgrade kernel-default-extraUpgrade kernel-symsUpgrade reiserfs-kmp-defaultUpgrade kernel-64kb-develUpgrade kernel-zfcpdumpUpgrade kernel-64kbUpgrade kernel-defaultUpgrade kernel-develUpgrade kernel-default-develUpgrade kernel-default-baseUpgrade kernel-docs | Dec 5, 2025 | Nov 11, 2025 |
| Ubuntu | — | Upgrade linux-image-azure-fips-6.8Upgrade linux-image-ibmUpgrade linux-image-ibm-classicUpgrade linux-image-6.17.0-1007-aws-64kUpgrade linux-image-fips-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-lowlatencyUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-virtualUpgrade linux-image-gcpUpgrade linux-image-6.8.0-106-fipsUpgrade linux-image-6.17.0-1006-realtimeUpgrade linux-image-6.17.0-1007-awsUpgrade linux-image-oem-22.04bUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-raspi-6.17Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-aws-64k-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.17.0-1008-raspiUpgrade linux-image-azure-6.17Upgrade linux-image-6.8.0-106-genericUpgrade linux-image-6.17.0-1007-gcpUpgrade linux-image-6.17.0-1008-azureUpgrade linux-image-azure-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-6.8.0-1050-awsUpgrade linux-image-gcp-6.8Upgrade linux-image-oem-6.17Upgrade linux-image-aws-fips-6.8Upgrade linux-image-gcp-6.17Upgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-generic-6.17Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-oracle-6.17Upgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-oem-22.04aUpgrade linux-image-oracleUpgrade linux-image-xilinxUpgrade linux-image-gkeop-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.17.0-14-generic-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-realtime-6.17Upgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-awsUpgrade linux-image-6.17.0-1007-oracleUpgrade linux-image-kvmUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-azure-fipsUpgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-virtual-6.17Upgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-fipsUpgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-6.17.0-14-genericUpgrade linux-image-gcp-64k-6.17Upgrade linux-image-6.17.0-1007-gcp-64kUpgrade linux-image-gkeUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-6.17.0-1011-oemUpgrade linux-image-xilinx-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-64kUpgrade linux-image-gke-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-generic-64kUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-oracle-64k-6.17Upgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-oem-22.04dUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-aws-64k-6.17Upgrade linux-image-generic-lpaeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-raspiUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-realtimeUpgrade linux-image-genericUpgrade linux-image-gcp-64kUpgrade linux-image-azureUpgrade linux-image-intel-iotgUpgrade linux-image-generic-64k-6.17Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-gkeopUpgrade linux-image-aws-6.17Upgrade linux-image-6.17.0-1007-oracle-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oem-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidiaUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-lowlatency-hwe-22.04 | 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