ZeroHour

CVE-2026-80979

niche

Use-After-Free in Linux Kernel AF_SMC Connection Teardown (net/smc)

CVSS 3.1
7.8 high
EPSS
Published
()
Modified
AI analysis

A race condition in the Linux kernel's AF_SMC (Shared Memory Communications, net/smc) implementation lets an SMC-D device re-arm the receive tasklet after teardown has already drained and killed it, so the tasklet later dereferences a freed ghost send buffer on the DMB-nocopy path — a use-after-free in kernel memory. A local attacker with low privileges who can create and tear down SMC connections on an affected host could trigger this window to corrupt kernel memory, potentially escalating privileges or crashing the system (CVSS 3.1: 7.8; C:H/I:H/A:H). The bug lives in the connection/link-group teardown logic (smc_conn_free vs. smc_lgr_terminate_sched) and affects systems actually using SMC, primarily Linux on IBM Z with ISM devices (SMC-D) and hosts using SMC-R over RDMA/RoCE. No specific version ranges were provided in the data; any kernel carrying the vulnerable net/smc code before the upstream fix is affected. There is no public PoC, no known exploitation in the wild, and the CVE is not in CISA's KEV catalog.

What to do: Patch to a kernel containing the upstream fix (it unconditionally unregisters the connection before draining and clears sndbuf_desc before freeing) as soon as your distribution ships a backport. If AF_SMC is not needed, blacklist the smc module to eliminate exposure, and otherwise limit local untrusted user access since exploitation requires local low-privileged code execution. Monitor SMC-enabled hosts for kernel crashes or memory-corruption splats referencing smc_conn_free, smcd_handle_irq, or use-after-free reports.

Affected
Linux kernel (net/smc, AF_SMC/SMC-D)
Estimated exposure
nichelikely low thousands to tens of thousands of hosts (Linux instances on IBM Z with ISM devices, plus RDMA/RoCE clusters using SMC-R) — AF_SMC with SMC-D requires IBM Z ISM (or compatible) hardware and is enabled in only a small subset of Linux deployments, so the realistically exposed population is mainframe Linux instances and specialized RDMA environments rather than…

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: unregister the connection before draining the rx tasklet smc_conn_free() calls smc_ism_unset_conn() only while the link group is still on its device list, and never sets conn->killed. smc_lgr_terminate_sched() unlinks the group immediately and defers killing its connections to a work item, so a connection freed in that window keeps its smcd->conn[] slot with both gates in smcd_handle_irq() open, and the device can re-arm the receive tasklet after tasklet_kill() has returned. On the DMB-nocopy path the ghost send buffer is freed right after that drain, so the re-armed tasklet dereferences it. Unregister unconditionally and drain before the detach at both teardown sites, mirroring rmb_desc, which smc_buf_unuse() releases after the drain. Clear conn->sndbuf_desc before freeing it as well, so a reader that samples the pointer cannot get one that is already freed.

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

In the news

No ingested article mentions this CVE yet.