CVE-2026-31507
kernel: net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · April 22, 2026
Updated · July 3, 2026
Description
A flaw was found in the Linux kernel's Stream Control Transmission Protocol (SMC) module. A local user can exploit this vulnerability by using the tee(2) system call to duplicate a splice pipe buffer, leading to a double-free condition. This double-free can result in a use-after-free error and a kernel null pointer dereference, ultimately causing a kernel panic and a denial of service on the affected system.
Statement
Upstream rejects tee()/splice_pipe_to_pipe() paths that would duplicate SMC pipe buffers because refcounting alone cannot fix receive-window accounting. Red Hat advises patched kernels for SMC users. Unload smc where the protocol is unused.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
To mitigate this issue, prevent the smc module from being loaded. See https://access.redhat.com/solutions/41278 for instructions.
CVSS / CWE
CVSS 3.1 · 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE-911 · Improper Update of Reference Count