CVE-2026-74631

net: smc: fix splice entry lifetime imbalance in smc_rx_splice

Published Aug 22, 2026 CVSS 3.1 · 8.4 High EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

net: smc: fix splice entry lifetime imbalance in smc_rx_splice

smc_rx_splice() passes pages to splice_to_pipe() before taking the
references that cover the lifetime of each splice entry. In the
VM-backed RMB path, splice_to_pipe() may drop unqueued entries through
smc_rx_spd_release(), while queued entries are released later via the
pipe buffer callback.

The old post-splice accounting also derives the number of queued VM pages
from an offset mutated while building the descriptor, and a multi-page
splice pairs one sock_hold() with multiple sock_put() calls.

Take the page and socket references for every candidate entry before
splice_to_pipe(), and drop the matching private state, page reference,
and socket reference from smc_rx_spd_release() for entries that never
get queued. This fixes a refcount imbalance that can underflow page
refcounts and trigger a use-after-free.

Analysis

AI-generated

Technical impact

The Linux kernel’s smc_rx_splice routine previously passed page references to splice_to_pipe before ensuring that those references were retained, causing a refcount imbalance that can underflow page refcounts and lead to a use‑after‑free state. This flaw may result in unintended kernel memory access or instability.

Affected Systems

All Linux kernel installations for which the smc_rx_splice function is compiled and in use prior to the commit that adds the safety checks. The fix is present in newer kernel releases, but the specific version range is not listed in the advisory.

Risk and Exploitability

The CVSS score of 8.4 classifies this issue as high severity. The EPSS score of < 1% indicates a very low exploitation probability, and the vulnerability is not listed in KEV, meaning no publicly known exploitation to date. The likely attack vector is a remote network attacker targeting the SMC networking path, but this is inferred because the advisory does not explicitly state the vector. A use‑after‑free in the kernel can destabilize the system, so immediate patching is recommended to mitigate the risk.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest available Linux kernel update that incorporates the smc_rx_splice fix, ensuring that the updated patch level is installed.
  • Reboot the machine after updating the kernel so that the patched code is loaded into execution.
  • Verify that all services that rely on the SMC networking path are restarted correctly and monitor dmesg or journal logs for any lingering reference‑count or memory‑corruption messages. If an immediate kernel upgrade is not possible, consider disabling or reconfiguring the SMC network interfaces until the patch can be applied.

Generated by OpenCVE AI on August 25, 2026 at 13:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
Debian DLA Debian DLA DLA-4788-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6466-1 linux security update
Ubuntu USN Ubuntu USN USN-8961-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9022-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9023-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9024-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9025-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-9026-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9029-1 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-9039-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-9040-1 Linux kernel (Low Latency NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-9066-1 Linux kernel (HWE) vulnerabilities
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Weaknesses CWE-416
Type Values Removed Values Added
Weaknesses CWE-416
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
Weaknesses CWE-416
Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: smc: fix splice entry lifetime imbalance in smc_rx_splice smc_rx_splice() passes pages to splice_to_pipe() before taking the references that cover the lifetime of each splice entry. In the VM-backed RMB path, splice_to_pipe() may drop unqueued entries through smc_rx_spd_release(), while queued entries are released later via the pipe buffer callback. The old post-splice accounting also derives the number of queued VM pages from an offset mutated while building the descriptor, and a multi-page splice pairs one sock_hold() with multiple sock_put() calls. Take the page and socket references for every candidate entry before splice_to_pipe(), and drop the matching private state, page reference, and socket reference from smc_rx_spd_release() for entries that never get queued. This fixes a refcount imbalance that can underflow page refcounts and trigger a use-after-free.
Title net: smc: fix splice entry lifetime imbalance in smc_rx_splice
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Oct 16, 2026, 7:06 PM
Reserved
Aug 15, 2026, 5:44 AM
Status
Received
Published
Aug 22, 2026, 4:16 PM
Modified
Oct 16, 2026, 8:17 PM
Severity
Moderate
Public date
Aug 22, 2026, 12:00 AM