KernelScan.io

HIGH Introduced in 5.8

smc Qentry Leak

CVE-2026-74719

CVSS 7.5 / 10.0 KernelScan AI

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

01

In the Linux kernel, the following vulnerability has been resolved: net/smc: fix qentry overwrite for CONFIRM_LINK and ADD_LINK_CONT in smc_llc_event_handler() The SMC_LLC_CONFIRM_LINK / SMC_LLC_ADD_LINK_CONT branch in smc_llc_event_handler() stores an incoming qentry into the local LLC flow without first checking whether a qentry is already pending. If a malicious or buggy peer sends a second CONFIRM_LINK or ADD_LINK_CONT request while a flow is active and flow->qentry is already set, smc_llc_flow_qentry_set() overwrites the pointer without freeing the previous allocation, leaking one kmalloc-96 object per spurious message. The sibling SMC_LLC_DELETE_LINK branch already has the correct !flow->qentry guard. Apply the same guard to the CONFIRM_LINK/ADD_LINK_CONT branch so that a duplicate message when qentry is already occupied falls through to break and is freed by the kfree(qentry) at the out: label, rather than silently leaking the existing allocation. The response direction (smc_llc_rx_response()) is unaffected: it already guards with flow->qentry at the equivalent site and drops duplicate responses correctly.

02

Engine v0.6.0

Risk summary

A malicious SMC peer can send duplicate CONFIRM_LINK or ADD_LINK_CONT LLC messages to leak kernel memory (one kmalloc-96 object per message) on the receiving host. Repeated exploitation can exhaust kernel memory and cause system-wide denial of service. Any system with SMC enabled and a network-reachable TCP service that negotiates SMC is at risk.

Affectednet/smc/smc_llc.c (SMC - Shared Memory Communications)

Vulnerability analysis

When the SMC link-control handler receives certain link-setup messages while a local flow is already active, it stores the incoming message into a pending slot without checking whether a previous message already occupies that slot. A malicious or buggy peer can send a second such message, causing the handler to overwrite the existing reference and leak the previously allocated kernel memory object. Each spurious message leaks one small kernel allocation, and an attacker can repeat this indefinitely to drive the system toward memory exhaustion. The fix adds a guard that refuses to overwrite an already-occupied slot, so duplicate messages are discarded and freed instead of silently leaking. The vulnerability is reachable by any network peer that can establish an SMC connection to the target, which requires the target kernel to have SMC support enabled and RDMA-capable hardware configured.

03

BranchIntroducedFixed inPatch commit
5.105.85.10.265e384f3cba6ea
5.155.85.15.216a1e980d7a9e7
6.15.86.1.183e0eb87677c76
6.125.86.12.104c23c40922862
6.185.86.18.4510cb31b2b74c
6.65.86.6.15206734dfeaeba
7.15.87.1.9bfc336a9fbbf
mainline5.87.2976245094925
cip/5.105.85.10.268-cip77e384f3cba6ea
cip/5.10-rt5.85.10.268-cip77-rt34e384f3cba6ea
cip/6.15.86.1.187-cip60e0eb87677c76
cip/6.1-rt5.86.1.189-cip61-rt32e0eb87677c76
cip/6.125.86.12.104-cip30c23c40922862

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.104-cip30
cip/6.1Fixed in 6.1.187-cip60
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.268-cip77
cip/5.10-rtFixed in 5.10.268-cip77-rt34