CVE-2026-80982

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

State
Published
Severity
7.8 High
Published
Sep 11, 2026
Updated
Oct 19, 2026
Reserved
Aug 26, 2026

Read the record on cve.org

Description

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

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

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

smc_rx_pipe_buf_release() tests sk_state before taking the socket lock. The state can change between the test and the lock, and smc_rx_update_cons() then dereferences conn->rmb_desc and walks conn->lgr, which smc_conn_free() has already released. On the is_reg_err path smcr_buf_unuse() frees the descriptor outright, so this is a use-after-free.

Take the socket lock first and test conn->freed instead. smc_conn_free() 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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f to before dadd97c8296b23aa816e91ed70041820ae087baaAffected
  • 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f to before df441f3efbb50eb0f120b8de4bf441c31fb0551dAffected
  • 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f to before 6a644a7340df978785f3109d1e0726a982ce2c6fAffected
  • 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f to before 0761e49aa78c2f1362511054c6e9670653858837Affected
  • 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f to before 0926f59ca0f94120895b92180c636a48d0ed3a6dAffected
  • 9014db202cb764b8e14c53e7bacc81f9a1a2ba7f to before c924884743e948e25625b7fbf3ee2a9325a204a7Affected
LinuxLinux
  • 4.18Affected
  • before 4.18Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.109 through 6.12.*Not affected
  • 6.18.50 through 6.18.*Not affected
  • 7.2.4 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.