CVE-2026-74719: net/smc: fix qentry overwrite for CONFIRM_LINK and ADD_LINK_CONT in smc_llc_event_handler()
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026082239-CVE-2026-74719-d1ee@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: net/smc: fix qentry overwrite for CONFIRM_LINK and ADD_LINK_CONT in smc_llc_event_handler() The SMC_LLC_CONFIRM_LINK / SMC_LLC_ADD_LINK_CONT branch in smc_llc_event_handler() stores an incoming qentry into the local LLC flow without first checking whether a qentry is already pending. If a malicious or buggy peer sends a second CONFIRM_LINK or ADD_LINK_CONT request while a flow is active and flow->qentry is already set, smc_llc_flow_qentry_set() overwrites the pointer without freeing the previous allocation, leaking one kmalloc-96 object per spurious message. The sibling SMC_LLC_DELETE_LINK branch already has the correct !flow->qentry guard. Apply the same guard to the CONFIRM_LINK/ADD_LINK_CONT branch so that a duplicate message when qentry is already occupied falls through to break and is freed by the kfree(qentry) at the out: label, rather than silently leaking the existing allocation. The response direction (smc_llc_rx_response()) is unaffected: it already guards with flow->qentry at the equivalent site and drops duplicate responses correctly. The Linux kernel CVE team has assigned CVE-2026-74719 to this issue. Affected and fixed versions =========================== Issue introduced in 5.8 with commit 0fb0b02bd6fd26cba38002be4a6bbcae2228fd44 and fixed in 5.10.265 with commit e384f3cba6ea709f5b2272b1770db4ce14047f78 Issue introduced in 5.8 with commit 0fb0b02bd6fd26cba38002be4a6bbcae2228fd44 and fixed in 5.15.216 with commit a1e980d7a9e7ee6faf4f5fd7b450413b969af26d Issue introduced in 5.8 with commit 0fb0b02bd6fd26cba38002be4a6bbcae2228fd44 and fixed in 6.1.183 with commit e0eb87677c76b157cdf8eb7c1f19e56227165a33 Issue introduced in 5.8 with commit 0fb0b02bd6fd26cba38002be4a6bbcae2228fd44 and fixed in 6.6.152 with commit 06734dfeaeba886aab1bf147249195b888ac3e4d Issue introduced in 5.8 with commit 0fb0b02bd6fd26cba38002be4a6bbcae2228fd44 and fixed in 6.12.104 with commit c23c409228629107203d3c3e95fff1473173f1a6 Issue introduced in 5.8 with commit 0fb0b02bd6fd26cba38002be4a6bbcae2228fd44 and fixed in 6.18.45 with commit 10cb31b2b74cb664c6c95cf72364d7d5c483ab82 Issue introduced in 5.8 with commit 0fb0b02bd6fd26cba38002be4a6bbcae2228fd44 and fixed in 7.1.9 with commit bfc336a9fbbf09805f3dfe25c195a4db90af2846 Issue introduced in 5.8 with commit 0fb0b02bd6fd26cba38002be4a6bbcae2228fd44 and fixed in 7.2 with commit 976245094925bab9bc39366b2e9ab44ffcde61d0 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-74719 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: net/smc/smc_llc.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/e384f3cba6ea709f5b2272b1770db4ce14047f78 https://git.kernel.org/stable/c/a1e980d7a9e7ee6faf4f5fd7b450413b969af26d https://git.kernel.org/stable/c/e0eb87677c76b157cdf8eb7c1f19e56227165a33 https://git.kernel.org/stable/c/06734dfeaeba886aab1bf147249195b888ac3e4d https://git.kernel.org/stable/c/c23c409228629107203d3c3e95fff1473173f1a6 https://git.kernel.org/stable/c/10cb31b2b74cb664c6c95cf72364d7d5c483ab82 https://git.kernel.org/stable/c/bfc336a9fbbf09805f3dfe25c195a4db90af2846 https://git.kernel.org/stable/c/976245094925bab9bc39366b2e9ab44ffcde61d0