CVE-2026-74631: net: smc: fix splice entry lifetime imbalance in smc_rx_splice

Published Aug 22, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

net: smc: fix splice entry lifetime imbalance in smcrxsplice

smcrxsplice() passes pages to splicetopipe() before taking the references that cover the lifetime of each splice entry. In the VM-backed RMB path, splicetopipe() may drop unqueued entries through smcrxspdrelease(), 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 sockhold() with multiple sockput() calls.

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

Affected Software

1 affected component
Linux Linux kernel

Event History

Aug 22, 2026
CVE Published
via MITRE·03:32 PM
Data Sourced
via MITRE·03:32 PM
Description
Data Sourced
via NVD·04:16 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this issue?

Systems running the Linux kernel are affected in the SMC receive splice path. The issue specifically involves the VM-backed RMB path in smc_rx_splice().

2

What condition can trigger the use-after-free?

The issue can occur when splice_to_pipe() drops splice entries that were not queued, or when a multi-page splice causes reference accounting to pair one socket reference acquisition with multiple releases. The resulting imbalance can underflow page reference counts and trigger a use-after-free.

3

What is the remediation?

Apply a kernel version containing the referenced fixes. The fix takes page and socket references for each candidate entry before splice_to_pipe() and releases matching references for entries that are not queued.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203