Cloudanix VulnDB

CVE-2026-80986

Critical · 9.8

CVSS

9.8

EPSS

0.6%

Published

Sep 11, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in a specialized Linux high-speed networking feature can crash servers that talk over certain high-performance network cards, so those systems should be updated.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Moderate
Impact
Full Compromise
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The Linux kernel SMC-R v2 LLC path fails to bound peer rkey counts when parsing ADD_LINK messages. On RDMA devices with max_recv_sge == 1 there is no shared v2 receive buffer, so smc_llc_save_add_link_rkeys() treats a v2 extension that starts near the end of a 72-byte inline queue entry; reading num_rkeys (and following rkey data) is a slab-out-of-bounds access. This is a kernel memory-safety defect that can oops/panic the host and, depending on slab layout, corrupt adjacent objects.

Why it matters to the business

Linux systems that actually use Shared Memory Communications over RDMA (SMC-R/SMC-Rv2) can be crashed or destabilized during link setup, interrupting high-performance sockets used in RDMA/RoCE/InfiniBand and IBM Z-style environments. Hosts that never load SMC are not exposed. Severity is scored critical, but exploit maturity is none, EPSS is low and flat (~0.0065 over 30 days), the CVE is not in CISA KEV, and there is no ransomware association—treat as urgent for SMC/RDMA estates and routine kernel hygiene elsewhere. The issue was published about 20 days ago.

How an attack unfolds

A remote peer on a fabric where SMC-R v2 can be negotiated completes enough of an SMC connection for LLC ADD_LINK processing, then supplies an ADD_LINK v2 extension whose rkey count is unbounded or whose extension is interpreted past the inline 72-byte allocation. The receiver reads out of bounds in smc_llc_save_add_link_rkeys (commonly during smc_llc_cli_add_link / connect). Impact observed in the public report is a KASAN slab-out-of-bounds read and kernel BUG; follow-on memory corruption is theoretically possible but no public exploit, payload, or named threat-actor use is documented.

How to fix it

Install a vendor/distro kernel that includes the upstream net/smc fix bounding peer rkey counts in SMC-Rv2 LLC messages, then reboot into that kernel. Exact package versions were not supplied with this record—use your distributor’s advisory and changelog for net/smc or smc_llc_save_add_link_rkeys. If SMC is not required, blacklist the smc module and prevent AF_SMC usage as a compensating control, and restrict RDMA/SMC peering to trusted systems until patched.

How to confirm the fix worked

Confirm uname -r / package changelog lists the net/smc rkey-bounding fix. After reboot, smc should still load if needed, and adding an SMC-Rv2 link on a max_recv_sge==1 device must no longer produce KASAN slab-out-of-bounds in smc_llc_save_add_link_rkeys. If relying on disablement, verify the smc module is not loaded and no process holds AF_SMC sockets.

Typical attack path

  1. Find Linux hosts with SMC/SMC-R enabled and RDMA NICs that can negotiate SMC-Rv2.
  2. Obtain reachability on the RDMA or IP network used for SMC (typically a data-center fabric, not the open Internet).
  3. Cause the target to process an SMC-R connect / ADD_LINK LLC exchange (as a peer or via an application that uses AF_SMC).
  4. Trigger the un-bounded v2 rkey parse so the kernel reads past the inline LLC queue entry.
  5. Induce a kernel oops/panic or unstable slab state, denying service on the host.

How to detect it

Review kernel rings, journald, kdump/vmcore, and panic logs on SMC-enabled hosts for out-of-bounds reports during connect or link-add. Search for smc_llc_save_add_link_rkeys, smc_llc_cli_add_link, __smc_connect, and KASAN slab-out-of-bounds. Correlate with AF_SMC connect activity, smc module load, and RDMA device use. No public exploit tooling, file drops, or named APT TTPs are associated; absence of these logs does not prove non-exploitation if KASAN was off and the host simply oopsed.

  • smc_llc_save_add_link_rkeys
  • BUG: KASAN: slab-out-of-bounds in smc_llc_save_add_link_rkeys
  • smc_llc_cli_add_link
  • __smc_connect
  • smc_llc_enqueue
  • KASAN: slab-out-of-bounds

What your security team should do

  • Inventory Linux hosts with RDMA NICs and CONFIG_SMC/smc loaded; patch and reboot those first.
  • Apply vendor kernel updates containing the SMC-Rv2 LLC rkey bound; do not wait for KEV given CVSS 9.8 on SMC estates.
  • Where SMC is unused, blacklist smc and limit RDMA peering as a short-term control.
  • Hunt kernel logs and crash dumps since publication for smc_llc_save_add_link_rkeys / KASAN hits.
  • Track distro advisories for exact fixed kernel packages; EPSS is low so prioritize by actual SMC exposure rather than internet-wide emergency response.

The record

In the Linux kernel, the following vulnerability has been resolved: net/smc: bound the peer rkey counts in SMC-Rv2 LLC messages On a link whose device has max_recv_sge == 1 there is no shared v2 receive buffer, and smc_llc_save_add_link_rkeys() takes the v2 extension from 44 bytes past the start of the queue entry's inline message: ext = (struct smc_llc_msg_add_link_v2_ext *)(llc_msg + SMC_WR_TX_SIZE); The entry is a 72-byte allocation and the extension starts at offset 68, so ext->num_rkeys at offset 94 is already past it. This happens on every SMC-Rv2 link addition, whatever the peer sends: [ 2.490065] BUG: KASAN: slab-out-of-bounds in smc_llc_save_add_link_rkeys+0x333/0x350 [ 2.490431] Read of size 2 at addr ffff8880056406de by task smctest/106 [ 2.490709] [ 2.490792] CPU: 0 UID: 0 PID: 106 Comm: smctest Not tainted 7.2.0-rc5-p1-g77a5d9d9c99f #32 PREEMPT(lazy) [ 2.490795] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 2.490798] Call Trace: [ 2.490803] <TASK> [ 2.490805] dump_stack_lvl+0x53/0x70 [ 2.490810] print_report+0xd0/0x630 [ 2.490828] ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [ 2.490832] ? smc_llc_save_add_link_rkeys+0x333/0x350 [ 2.490834] kasan_report+0xce/0x100 [ 2.490836] ? smc_llc_save_add_link_rkeys+0x333/0x350 [ 2.490837] smc_llc_save_add_link_rkeys+0x333/0x350 [ 2.490839] ? smcr_buf_map_lgr+0x1bf/0x2b0 [ 2.490844] smc_llc_cli_add_link+0xca7/0x1e80 [ 2.490848] ? smc_llc_wait+0x355/0x810 [ 2.490850] ? __pfx_smc_llc_wait+0x10/0x10 [ 2.490851] ? __pfx_smc_llc_cli_add_link+0x10/0x10 [ 2.490853] ? __pfx_autoremove_wake_function+0x10/0x10 [ 2.490863] __smc_connect+0x3f5c/0x4980 [ 2.490873] ? __pfx_kernel_connect+0x10/0x10 [ 2.490888] ? __pfx___smc_connect+0x10/0x10 [ 2.490891] ? release_sock+0x148/0x1d0 [ 2.490894] smc_connect+0x42c/0x580 [ 2.490896] __sys_connect+0xfc/0x130 [ 2.490898] ? __pfx___sys_connect+0x10/0x10 [ 2.490900] ? handle_mm_fault+0x1a1/0x430 [ 2.490908] __x64_sys_connect+0x6d/0xb0 [ 2.490909] ? fpregs_assert_state_consistent+0x56/0xe0 [ 2.490917] do_syscall_64+0xf9/0x540 [ 2.490921] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 2.490924] RIP: 0033:0x421bb4 [ 2.490927] Code: ff f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 80 3d ad 34 09 00 00 74 13 b8 2a 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 4c c3 0f 1f 00 55 48 89 e5 48 83 ec 10 89 55 [ 2.490929] RSP: 002b:00007ffd473b01a8 EFLAGS: 00000202 ORIG_RAX: 000000000000002a [ 2.490935] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000421bb4 [ 2.490936] RDX: 0000000000000010 RSI: 00007ffd473b01d0 RDI: 0000000000000003 [ 2.490937] RBP: 0000000000003930 R08: 0000000000000004 R09: 0000000000000000 [ 2.490938] R10: 00007ffd473b0f98 R11: 0000000000000202 R12: 0000000000000006 [ 2.490939] R13: 00007ffd473b0f87 R14: 0000000000000003 R15: 00007ffd473b0f90 [ 2.490940] </TASK> [ 2.490941] [ 2.499545] Allocated by task 44: [ 2.499693] kasan_save_stack+0x33/0x60 [ 2.499860] kasan_save_track+0x14/0x30 [ 2.500026] __kasan_kmalloc+0x8f/0xa0 [ 2.500190] __kmalloc_cache_noprof+0x158/0x370 [ 2.500393] smc_llc_enqueue+0x72/0x560 [ 2.500559] smc_wr_rx_tasklet_fn+0x474/0xa80 [ 2.500747] tasklet_action_common+0x20f/0x8a0 [ 2.500945] handle_softirqs+0x18e/0x590 [ 2.501115] do_softirq+0x3b/0x60 [ 2.501266] __local_bh_enable_ip+0x61/0x70 [ 2.501446] __alloc_skb+0x732/0x890 [ 2.501604] rxe_init_packet+0x16b/0x4f0 [ 2.501783] prepare_ack_packet+0xb8/0x830 [ 2.501962] rxe_receiver+0x495/0x96e0 [ 2.502125] do_work+0x144/0x470 [ 2.502269] process_one_work+0x633/0x1030 [ 2.502450] worker_thread+0x45b/0xd10 [ 2.50261 ---truncated---

Affected packages

Ecosystem Package Introduced Fixed