{"id":"CVE-2026-74631","summary":"net: smc: fix splice entry lifetime imbalance in smc_rx_splice","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: smc: fix splice entry lifetime imbalance in smc_rx_splice\n\nsmc_rx_splice() passes pages to splice_to_pipe() before taking the\nreferences that cover the lifetime of each splice entry. In the\nVM-backed RMB path, splice_to_pipe() may drop unqueued entries through\nsmc_rx_spd_release(), while queued entries are released later via the\npipe buffer callback.\n\nThe old post-splice accounting also derives the number of queued VM pages\nfrom an offset mutated while building the descriptor, and a multi-page\nsplice pairs one sock_hold() with multiple sock_put() calls.\n\nTake the page and socket references for every candidate entry before\nsplice_to_pipe(), and drop the matching private state, page reference,\nand socket reference from smc_rx_spd_release() for entries that never\nget queued. This fixes a refcount imbalance that can underflow page\nrefcounts and trigger a use-after-free.","modified":"2026-08-27T11:30:44.567784881Z","published":"2026-08-22T15:32:12.334Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74631.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/07ad246529d136d5ef441d5ab4c305d132ff3090"},{"type":"WEB","url":"https://git.kernel.org/stable/c/0b7d54cedea5cb158e21925ae0c6c2f5c87ed2a0"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4515c78f4d9fd577270f012efeb062ea58b3682d"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5d9686af2976741bbd79b150d1c9e60b81e7f12e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7ddc7af2ae7fc5a0c0635b245c0824c8b76de5cb"},{"type":"WEB","url":"https://git.kernel.org/stable/c/af02c67ce654356c58db20a0bb2db33ace3b07a8"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c841789e456ec6751342fa800639ce8e82ff0e6b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ca8342b5fc24c249fdb998468f6a168b457c67e5"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74631.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-74631"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"9014db202cb764b8e14c53e7bacc81f9a1a2ba7f"},{"fixed":"7ddc7af2ae7fc5a0c0635b245c0824c8b76de5cb"},{"fixed":"07ad246529d136d5ef441d5ab4c305d132ff3090"},{"fixed":"c841789e456ec6751342fa800639ce8e82ff0e6b"},{"fixed":"af02c67ce654356c58db20a0bb2db33ace3b07a8"},{"fixed":"ca8342b5fc24c249fdb998468f6a168b457c67e5"},{"fixed":"0b7d54cedea5cb158e21925ae0c6c2f5c87ed2a0"},{"fixed":"4515c78f4d9fd577270f012efeb062ea58b3682d"},{"fixed":"5d9686af2976741bbd79b150d1c9e60b81e7f12e"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74631.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.18.0"},{"fixed":"5.10.266"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.217"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.183"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.152"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.104"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.45"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.1.9"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74631.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}