Skip to content
OpenAdvisories
High · 7.8 CVE-2024-36972 EUVD-2024-36322GHSA-rmff-fqq9-pc3q

af_unix: Update unix_sk(sk)->oob_skb under sk_receive_queue lock.

Published Jun 10, 2024 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.15 Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

af_unix: Update unix_sk(sk)->oob_skb under sk_receive_queue lock.

Billy Jheng Bing-Jhong reported a race between __unix_gc() and
queue_oob().

__unix_gc() tries to garbage-collect close()d inflight sockets,
and then if the socket has MSG_OOB in unix_sk(sk)->oob_skb, GC
will drop the reference and set NULL to it locklessly.

However, the peer socket still can send MSG_OOB message and
queue_oob() can update unix_sk(sk)->oob_skb concurrently, leading
NULL pointer dereference. [0]

To fix the issue, let's update unix_sk(sk)->oob_skb under the
sk_receive_queue's lock and take it everywhere we touch oob_skb.

Note that we defer kfree_skb() in manage_oob() to silence lockdep
false-positive (See [1]).

[0]:
BUG: kernel NULL pointer dereference, address: 0000000000000008
PF: supervisor write access in kernel mode
PF: error_code(0x0002) - not-present page
PGD 8000000009f5e067 P4D 8000000009f5e067 PUD 9f5d067 PMD 0
Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 3 PID: 50 Comm: kworker/3:1 Not tainted 6.9.0-rc5-00191-gd091e579b864 #110
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
Workqueue: events delayed_fput
RIP: 0010:skb_dequeue (./include/linux/skbuff.h:2386 ./include/linux/skbuff.h:2402 net/core/skbuff.c:3847)
Code: 39 e3 74 3e 8b 43 10 48 89 ef 83 e8 01 89 43 10 49 8b 44 24 08 49 c7 44 24 08 00 00 00 00 49 8b 14 24 49 c7 04 24 00 00 00 00 <48> 89 42 08 48 89 10 e8 e7 c5 42 00 4c 89 e0 5b 5d 41 5c c3 cc cc
RSP: 0018:ffffc900001bfd48 EFLAGS: 00000002
RAX: 0000000000000000 RBX: ffff8880088f5ae8 RCX: 00000000361289f9
RDX: 0000000000000000 RSI: 0000000000000206 RDI: ffff8880088f5b00
RBP: ffff8880088f5b00 R08: 0000000000080000 R09: 0000000000000001
R10: 0000000000000003 R11: 0000000000000001 R12: ffff8880056b6a00
R13: ffff8880088f5280 R14: 0000000000000001 R15: ffff8880088f5a80
FS: 0000000000000000(0000) GS:ffff88807dd80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000008 CR3: 0000000006314000 CR4: 00000000007506f0
PKRU: 55555554
Call Trace:
<TASK>
unix_release_sock (net/unix/af_unix.c:654)
unix_release (net/unix/af_unix.c:1050)
__sock_release (net/socket.c:660)
sock_close (net/socket.c:1423)
__fput (fs/file_table.c:423)
delayed_fput (fs/file_table.c:444 (discriminator 3))
process_one_work (kernel/workqueue.c:3259)
worker_thread (kernel/workqueue.c:3329 kernel/workqueue.c:3416)
kthread (kernel/kthread.c:388)
ret_from_fork (arch/x86/kernel/process.c:153)
ret_from_fork_asm (arch/x86/entry/entry_64.S:257)
</TASK>
Modules linked in:
CR2: 0000000000000008

Affected products

VendorProductAffectedFixed
Linux Linux 5.15.149 – < 5.15.161, 6.1.78 – < 6.1.93, 6.6.17 – < 6.6.33, 6.7.5 – < 6.8, 6.8 5.15.161

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.9.7-1 —
Debian 13 linux 6.9.7-1 —
Debian 12 linux 6.1.94-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1052.54 —
Ubuntu 24.04 LTS linux 6.8.0-44.44 USN-6999-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1015.16 USN-6999-1
Ubuntu 24.04 LTS linux-gcp +1 6.8.0-1014.16 USN-7004-1, USN-6999-1
Ubuntu 24.04 LTS linux-gke 6.8.0-1010.13 USN-6999-1
Ubuntu 24.04 LTS linux-ibm +2 6.8.0-1012.12 USN-6999-1
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1013.14 USN-7005-1
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1013.14.1 USN-7005-1
Ubuntu 24.04 LTS linux-raspi 6.8.0-1011.12 USN-6999-2
Ubuntu 24.04 LTS linux-riscv +1 6.8.0-44.44.1 USN-6999-1
Ubuntu 22.04 LTS linux +1 5.15.0-121.131 USN-7007-3, USN-7007-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1069.75 USN-7007-1
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1015.16~22.04.1 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1072.81 USN-7009-1
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1072.81.1 USN-7009-1
Ubuntu 22.04 LTS linux-gcp 5.15.0-1068.76 USN-7007-1
Ubuntu 22.04 LTS linux-gcp-6.8 +1 6.8.0-1014.16~22.04.1 —
Ubuntu 22.04 LTS linux-gke 5.15.0-1066.72 USN-7007-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1052.59 USN-7007-1
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-45.45~22.04.1 USN-7029-1
Ubuntu 22.04 LTS linux-ibm +1 5.15.0-1062.65 USN-7007-1
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1064.70 USN-7007-1
Ubuntu 22.04 LTS linux-kvm 5.15.0-1066.71 USN-7007-1
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1064.65 USN-7007-1
Ubuntu 22.04 LTS linux-nvidia-6.8 6.8.0-1013.14~22.04.1 USN-7005-2
Ubuntu 22.04 LTS linux-oracle 5.15.0-1067.73 USN-7007-1
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1012.12~22.04.1 —
Ubuntu 22.04 LTS linux-riscv +29 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 +1 6.8.0-44.44.1~22.04.1 USN-7008-1
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1035.39 USN-7019-1
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1069.75~20.04.1 USN-7007-1
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1072.81~20.04.1 USN-7009-1
Ubuntu 20.04 LTS linux-azure-fde-5.15 5.15.0-1072.81~20.04.1.1 USN-7009-2
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1068.76~20.04.1 USN-7007-1
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 20.04 LTS linux-gkeop-5.15 5.15.0-1052.59~20.04.1 USN-7007-1
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-121.131~20.04.1 USN-7007-3, USN-7007-1
Ubuntu 20.04 LTS linux-ibm-5.15 5.15.0-1062.65~20.04.1 USN-7007-2
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1064.70~20.04.1 USN-7007-1
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1067.73~20.04.1 USN-7007-2
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1065.69~20.04.1 —
Ubuntu 18.04 LTS linux-gcp +13 No fix yet —
Show 4 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2010.10 —
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1008.8 —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1063.65 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1070.78 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1069.75+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1072.81+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-121.131+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1068.76+fips1 —
ReleasePackageFixed inAdvisory
SLES 15 SP6 kernel-64kb 6.4.0-150600.23.14.1 SUSE-SU-2024:2571-1
SLES 15 SP6 kernel-azure +1 6.4.0-150600.8.8.2 SUSE-SU-2024:2896-1
SLES 15 SP6 kernel-default-base 6.4.0-150600.23.14.2.150600.12.4.3 SUSE-SU-2024:2571-1
SLES 15 SP6 kernel-docs +5 6.4.0-150600.23.14.2 SUSE-SU-2024:2571-1
SLES 15 SP6 kernel-syms-azure 6.4.0-150600.8.8.1 SUSE-SU-2024:2896-1
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLE Micro 6.0 kernel-default-base 6.4.0-17.1.1.51 SUSE-SU-2025:20008-1
SLE Micro 6.0 kernel-rt +1 6.4.0-9.1 SUSE-SU-2025:20028-1
SLE Micro 6.0 kernel-source +2 6.4.0-18.1 SUSE-SU-2025:20008-1
SLE Live Patching 15 SP6 kernel-default 6.4.0-150600.23.14.2 SUSE-SU-2024:2571-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_0 20-150600.3.1 SUSE-SU-2025:02821-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_1 1-150600.1.5.1 SUSE-SU-2024:2973-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_2 1-150600.13.3.2 SUSE-SU-2024:2571-1
SUSE Real Time Module 15 SP6 kernel-rt +3 6.4.0-150600.10.5.1 SUSE-SU-2024:2973-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.6 dtb-aarch64 +1 6.4.0-150600.23.14.1 SUSE-SU-2024:2571-1
openSUSE Leap 15.6 kernel-azure +1 6.4.0-150600.8.8.2 SUSE-SU-2024:2896-1
openSUSE Leap 15.6 kernel-default-base 6.4.0-150600.23.14.2.150600.12.4.3 SUSE-SU-2024:2571-1
openSUSE Leap 15.6 kernel-docs +8 6.4.0-150600.23.14.2 SUSE-SU-2024:2571-1
openSUSE Leap 15.6 kernel-rt +3 6.4.0-150600.10.5.1 SUSE-SU-2024:2973-1
openSUSE Leap 15.6 kernel-syms-azure 6.4.0-150600.8.8.1 SUSE-SU-2024:2896-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.1.94-99.176 1.0-0.amzn2023 ALAS2023-2024-683
Amazon Linux 2023 perf +14 6.1.94-99.176.amzn2023 ALAS2023-2024-683

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.64.2-9 —
Azure Linux 2 (CBL-Mariner) kernel 5.15.176.3-1 —

Advisories 23

References