CVE-2024-56640 in the critical feed json
net/smc: fix LGR and link use-after-free issue
published 2024-12-27 22 mo ago modified 2026-08-05 3 mo ago also EUVD-2024-53288
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 49%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
net/smc: fix LGR and link use-after-free issue
We encountered a LGR/link use-after-free issue, which manifested as the LGR/link refcnt reaching 0 early and entering the clear process, making resource access unsafe.
refcount_t: addition on 0; use-after-free. WARNING: CPU: 14 PID: 107447 at lib/refcount.c:25 refcount_warn_saturate+0x9c/0x140 Workqueue: events smc_lgr_terminate_work [smc] Call trace: refcount_warn_saturate+0x9c/0x140 __smc_lgr_terminate.part.45+0x2a8/0x370 [smc] smc_lgr_terminate_work+0x28/0x30 [smc] process_one_work+0x1b8/0x420 worker_thread+0x158/0x510 kthread+0x114/0x118
or
refcount_t: underflow; use-after-free. WARNING: CPU: 6 PID: 93140 at lib/refcount.c:28 refcount_warn_saturate+0xf0/0x140 Workqueue: smc_hs_wq smc_listen_work [smc] Call trace: refcount_warn_saturate+0xf0/0x140 smcr_link_put+0x1cc/0x1d8 [smc] smc_conn_free+0x110/0x1b0 [smc] smc_conn_abort+0x50/0x60 [smc] smc_listen_find_device+0x75c/0x790 [smc] smc_listen_work+0x368/0x8a0 [smc] process_one_work+0x1b8/0x420 worker_thread+0x158/0x510 kthread+0x114/0x118
It is caused by repeated release of LGR/link refcnt. One suspect is that smc_conn_free() is called repeatedly because some smc_conn_free() from server listening path are not protected by sock lock.
e.g.
Calls under socklock | smc_listen_work ------------------------------------------------------- lock_sock(sk) | smc_conn_abort smc_conn_free | \- smc_conn_free \- smcr_link_put | \- smcr_link_put (duplicated) release_sock(sk)
So here add sock lock protection in smc_listen_work() path, making it exclusive with other connection operations.
Patch / fix
- Linux Linux 5.15.174, 6.1.120, 6.6.66, 6.12.5, 6.13
- linux Debian 12 6.1.123-1
- linux Debian 14, Debian 13 6.12.5-1
debian advisories DEBIAN-CVE-2024-56640
- linux Ubuntu 22.04 LTS 5.15.0-135.146
- linux Ubuntu 24.04 LTS 6.8.0-58.60
- linux-aws Ubuntu 22.04 LTS 5.15.0-1080.87
- linux-aws Ubuntu 24.04 LTS 6.8.0-1027.29
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1079.88
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1028.30
- linux-gke Ubuntu 22.04 LTS 5.15.0-1077.83
- linux-gke Ubuntu 24.04 LTS 6.8.0-1023.27
ubuntu advisories UBUNTU-CVE-2024-56640
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.20.3.1
- kernel-syms-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.20.3.1
- kernel-source-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.20.3.1
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.3.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.3.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.3.1
- kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.3.1
- kernel-zfcpdump SLE Module for Basesystem 15 SP7 6.4.0-150700.53.3.1
suse advisories SUSE-SU-2025:01967-1SUSE-SU-2025:01951-1SUSE-SU-2025:01919-1SUSE-SU-2025:20192-1SUSE-SU-2025:20270-1SUSE-SU-2025:20190-1
- kernel Azure Linux 3.0 6.6.76.1-1
- kernel CBL-Mariner 2.0 5.15.176.3-1
azure linux advisories AZL-55527AZL-55561
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/f502a88fdd415647a1f2dc45fac71b9c522a052b commit
- git.kernel.org/stable/c/0cf598548a6c36d90681d53c6b77d52363f2f295 commit
- git.kernel.org/stable/c/673d606683ac70bc074ca6676b938bff18635226 commit
- git.kernel.org/stable/c/6f0ae06a234a78ae137064f2c89135ac078a00eb commit
- git.kernel.org/stable/c/2c7f14ed9c19ec0f149479d1c2842ec1f9bf76d7 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-56640 updated cvss 6.4
kernel: net/smc: fix LGR and link use-after-free issue
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +82 moreaffected: workaround, no fix planned “To mitigate this issue, prevent module smc from being loaded. Please see https://access.redhat.com/solutions/41278 for how to blacklist a kernel module to prevent it from loading automatically.”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 20 mo ago
Exploit prediction
0.62% chance of exploitation in the next 30 days, higher than 49% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CISA ADP | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-416 Use After Free
- Technology feeds
References
-
git.kernel.org
/stable/c/f502a88fdd415647a1f2dc45fac71b9c522a052b
patch
-
git.kernel.org
/stable/c/0cf598548a6c36d90681d53c6b77d52363f2f295
patch
-
git.kernel.org
/stable/c/673d606683ac70bc074ca6676b938bff18635226
patch
-
git.kernel.org
/stable/c/6f0ae06a234a78ae137064f2c89135ac078a00eb
patch
-
git.kernel.org
/stable/c/2c7f14ed9c19ec0f149479d1c2842ec1f9bf76d7
patch
- lists.debian.org /debian-lts-announce/2025/03/msg00001.html
Sources
- CVE List CVE-2024-56640
- NVD CVE-2024-56640
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.