Vulnerability · Published Jul 12, 2024 · Assigned by Linux

CVE-2024-40954net: do not leave a dangling sk pointer, when socket creation fails

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 17% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.8High
Exploit odds (30 days)0.3%top 82.8% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: net: do not leave a dangling sk pointer, when socket creation fails It is possible to trigger a use-after-free by: * attaching an fentry probe to __sock_release() and the probe calling the bpf_get_socket_cookie() helper * running traceroute -I 1.1.1.1 on a freshly booted VM A KASAN enabled kernel will log something like below (decoded and stripped): ================================================================== BUG: KASAN: slab-use-after-free in __sock_gen_cookie (./arch/x86/include/asm/atomic64_64.h:15 ./include/linux/atomic/atomic-arch-fallback.h:2583 ./include/linux/atomic/atomic-instrumented.h:1611 net/core/sock_diag.c:29) Read of size 8 at addr ffff888007110dd8 by task traceroute/299 CPU: 2 PID: 299 Comm: traceroute Tainted: G E 6.10.0-rc2+ #2 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:117 (discriminator 1)) print_report (mm/kasan/report.c:378 mm/kasan/report.c:488) ? __sock_gen_cookie (./arch/x86/include/asm/atomic64_64.h:15 ./include/linux/atomic/atomic-arch-fallback.h:2583 ./include/linux/atomic/atomic-instrumented.h:1611 net/core/sock_diag.c:29) kasan_report (mm/kasan/report.c:603) ? __sock_gen_cookie (./arch/x86/include/asm/atomic64_64.h:15 ./include/linux/atomic/atomic-arch-fallback.h:2583 ./include/linux/atomic/atomic-instrumented.h:1611 net/core/sock_diag.c:29) kasan_check_range (mm/kasan/generic.c:183 mm/kasan/generic.c:189) __sock_gen_cookie (./arch/x86/include/asm/atomic64_64.h:15 ./include/linux/atomic/atomic-arch-fallback.h:2583 ./include/linux/atomic/atomic-instrumented.h:1611 net/core/sock_diag.c:29) bpf_get_socket_ptr_cookie (./arch/x86/include/asm/preempt.h:94 ./include/linux/sock_diag.h:42 net/core/filter.c:5094 net/core/filter.c:5092) bpf_prog_875642cf11f1d139___sock_release+0x6e/0x8e bpf_trampoline_6442506592+0x47/0xaf __sock_release (net/socket.c:652) __sock_create (net/socket.c:1601) ... Allocated by task 299 on cpu 2 at 78.328492s: kasan_save_stack (mm/kasan/common.c:48) kasan_save_track (mm/kasan/common.c:68) __kasan_slab_alloc (mm/kasan/common.c:312 mm/kasan/common.c:338) kmem_cache_alloc_noprof (mm/slub.c:3941 mm/slub.c:4000 mm/slub.c:4007) sk_prot_alloc (net/core/sock.c:2075) sk_alloc (net/core/sock.c:2134) inet_create (net/ipv4/af_inet.c:327 net/ipv4/af_inet.c:252) __sock_create (net/socket.c:1572) __sys_socket (net/socket.c:1660 net/socket.c:1644 net/socket.c:1706) __x64_sys_socket (net/socket.c:1718) do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) Freed by task 299 on cpu 2 at 78.328502s: kasan_save_stack (mm/kasan/common.c:48) kasan_save_track (mm/kasan/common.c:68) kasan_save_free_info (mm/kasan/generic.c:582) poison_slab_object (mm/kasan/common.c:242) __kasan_slab_free (mm/kasan/common.c:256) kmem_cache_free (mm/slub.c:4437 mm/slub.c:4511) __sk_destruct (net/core/sock.c:2117 net/core/sock.c:2208) inet_create (net/ipv4/af_inet.c:397 net/ipv4/af_inet.c:252) __sock_create (net/socket.c:1572) __sys_socket (net/socket.c:1660 net/socket.c:1644 net/socket.c:1706) __x64_sys_socket (net/socket.c:1718) do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) Fix this by clearing the struct socket reference in sk_common_release() to cover all protocol families create functions, which may already attached the reference to the sk object with sock_init_data().

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
AlmaLinux:9bpftool7.3.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-debug-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-64k-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-abi-stablelists5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-cross-headers5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-debug-uki-virt5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-doc5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-headers5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-debug-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-rt-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-tools5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-tools-libs5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-tools-libs-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-uki-virt5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-devel5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-devel-matched5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-modules5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-modules-core5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9kernel-zfcpdump-modules-extra5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9libperf5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9perf5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9python3-perf5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9rtla5.14.0-427.31.1.el9_4ALSA-2024:5363
AlmaLinux:9rv5.14.0-427.31.1.el9_4ALSA-2024:5363
Debian:12linux6.1.99-1DEBIAN-CVE-2024-40954
Debian:13linux6.9.7-1DEBIAN-CVE-2024-40954
Debian:14linux6.9.7-1DEBIAN-CVE-2024-40954
Rocky Linux:9kernel0:5.14.0-427.31.1.el9_4RLSA-2024:5363
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-awsno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azureno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-gcp-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-intelno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-intel-iotgno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-kvmno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1038.42UBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1038.42USN-9002-1
Ubuntu:22.04:LTSlinux-nvidia-tegra-igxno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2024-40954
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2024-40954
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2024-40954

Affected products (as reported)

VendorProductVersions
Linux Linux c5dbb89fc2ac013afe67b9e4fcb3743c02b567cd – before 78e4aa528a7b1204219d808310524344f627d069c5dbb89fc2ac013afe67b9e4fcb3743c02b567cd – before 893eeba94c40d513cd0fe6539330ebdaea208c0ec5dbb89fc2ac013afe67b9e4fcb3743c02b567cd – before 454c454ed645fed051216b79622f7cb69c1638f5c5dbb89fc2ac013afe67b9e4fcb3743c02b567cd – before 5dfe2408fd7dc4d2e7ac38a116ff0a37b1cfd3b9c5dbb89fc2ac013afe67b9e4fcb3743c02b567cd – before 6cd4a78d962bebbaf8beb7d2ead3f34120e3f7b2
Linux Linux 5.12

References