CVE-2026-80982: net/smc: fix use-after-free in smc_rx_pipe_buf_release()

Published Sep 11, 2026
·
Updated

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

net/smc: fix use-after-free in smcrxpipebufrelease()

smcrxsplice() hands RMB pages to a pipe and takes a socket reference per entry so the smcsock stays alive until the reader finishes. The connection does not: a concurrent close runs smcconnfree(), which releases the receive buffer back to the link group pool.

smcrxpipebufrelease() tests skstate before taking the socket lock. The state can change between the test and the lock, and smcrxupdatecons() then dereferences conn->rmbdesc and walks conn->lgr, which smcconnfree() has already released. On the isregerr path smcrbufunuse() frees the descriptor outright, so this is a use-after-free.

Take the socket lock first and test conn->freed instead. smcconnfree() sets that flag before releasing anything, and every caller holds the socket lock. The two paths exclude each other: either the pipe release runs first with everything valid, or it sees the flag and skips the update.

Affected Software

1 affected component
Linux Kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:42 PM
Data Sourced
via MITRE·07:42 PM
Description

Frequently Asked Questions

1

When can this race occur?

It requires an SMC receive splice operation to hand receive-memory-buffer pages to a pipe while a concurrent connection close frees the connection's receive buffer and related link-group state. The vulnerable pipe-release path can then update consumption state using objects that have already been released.

2

What synchronization change resolves the issue?

The fix takes the socket lock before checking whether the connection has been freed, and uses the connection's freed flag rather than checking socket state first. This makes pipe release and connection teardown mutually exclusive: release either runs while the connection remains valid or detects that it was freed and skips the update.

3

What should be prioritized when assessing exposure?

Prioritize systems using the Linux kernel's SMC networking path and workloads that can perform receive splicing while connections are being closed concurrently. The issue specifically involves SMC receive buffer pages released from a pipe after connection teardown.

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