ZeroHour

CVE-2026-80985

niche

Linux Kernel SMC-Rv2 LLC Stale-Buffer Read Enables Rkey Corruption and DoS

CVSS 3.1
8.2 high
EPSS
Published
()
Modified
AI analysis

A logic flaw in the Linux kernel's SMC-Rv2 link-layer control (LLC) message handling lets a malicious SMC peer make the kernel read stale bytes from the shared v2 receive buffer as if they were rkey data. The functions smc_llc_rmt_delete_rkey() and smc_llc_save_add_link_rkeys() bounded their reads by the size of the buffer rather than by the length of the message that actually arrived, so a short 44-byte DELETE_RKEY_V2 message declaring 255 rkeys would process leftover bytes from earlier messages — deleting a legitimately registered rtoken or installing up to 255 bogus rtokens from an ADD_LINK. The result is primarily a denial of service on SMC-R connections (CVSS 3.1: 8.2, A:H, I:L) caused by an unauthenticated network peer corrupting connection state. Only Linux systems actually speaking SMC-Rv2 over RDMA-capable links — typically IBM Z/LinuxONE estates using RoCE — are affected. No public proof of concept is known and the issue is not in CISA's KEV.

What to do: Update to a kernel that includes the fix, which copies the message tail into the queue entry so processing is bounded by the message that actually arrived. If SMC is not needed on a host, blacklist or unload the smc kernel module to remove the attack surface entirely. On SMC-R-enabled systems, restrict peers to trusted RoCE networks and watch for unexplained rtoken deletions or unexpected ADD_LINK behavior.

Affected
Linux kernel (net/smc, SMC-Rv2 LLC message handling)
Estimated exposure
nichelikely on the order of thousands of SMC-speaking hosts worldwide — SMC-R requires RDMA-capable hardware and both peers opting into the protocol, and real-world use is concentrated in IBM Z/LinuxONE enterprise deployments; no public scan data enumerates SMC-capable hosts, so this is a rough…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

In the Linux kernel, the following vulnerability has been resolved: net/smc: carry oversized SMC-Rv2 LLC messages in the queue entry smc_llc_rmt_delete_rkey() and smc_llc_save_add_link_rkeys() read the part of a v2 message that does not fit into the 44-byte union smc_llc_msg, and both bound themselves by the size of the buffer it landed in, not by what arrived. On a link with a shared v2 receive buffer a 44-byte DELETE_RKEY_V2 declaring 255 rkeys reaches rkey[9..254] in whatever an earlier message left in lgr->wr_rx_buf_v2, and passes each of them to smc_rtoken_delete(). One of those 255 matched a registered rtoken and deleted it. An ADD_LINK on such a link installs up to 255 rtokens from the same bytes. Copy the tail into the queue entry, so its length is the length of the message that arrived, and declare the rkeys that fit inline as a member of the union instead of reaching them through a cast. The same DELETE_RKEY_V2 now processes the 9 rkeys it carries. The copy is limited to the longest tail the two functions can read, so the peer does not pick the size of the entry. The bound the previous patch placed on links without a shared v2 receive buffer is no longer needed.

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

In the news

No ingested article mentions this CVE yet.