In the Linux kernel, the following vulnerability has been resolved:
ipv6: Fix infinite recursion in fib6_dump_done().
syzkaller reported infinite recursive calls of fib6_dump_done() during netlink socket destruction. [1]
From the log, syzkaller sent an AF_UNSPEC RTM_GETROUTE message, and then the response was generated. The following recvmmsg() resumed the dump for IPv6, but the first call of inet6_dump_fib() failed at kzalloc() due to the fault injection. [0]
12:01:34 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, ... snip ...) recvmmsg(r0, ... snip ...) (fail_nth: 8)
Here, fib6_dump_done() was set to nlk_sk(sk)->cb.done, and the next call of inet6_dump_fib() set it to nlk_sk(sk)->cb.args[3]. syzkaller stopped receiving the response halfway through, and finally netlink_sock_destruct() called nlk_sk(sk)->cb.done().
fib6_dump_done() calls fib6_dump_end() and nlk_sk(sk)->cb.done() if it is still not NULL. fib6_dump_end() rewrites nlk_sk(sk)->cb.done() by nlk_sk(sk)->cb.args[3], but it has the same function, not NULL, calling itself recursively and hitting the stack guard page.
To avoid the issue, let's set the destructor after kzalloc().
[0]: FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 0 CPU: 1 PID: 432110 Comm: syz-executor.3 Not tainted 6.8.0-12821-g537c2e91d354-dirty #11 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:117) should_fail_ex (lib/fault-inject.c:52 lib/fault-inject.c:153) should_failslab (mm/slub.c:3733) kmalloc_trace (mm/slub.c:3748 mm/slub.c:3827 mm/slub.c:3992) inet6_dump_fib (./include/linux/slab.h:628 ./include/linux/slab.h:749 net/ipv6/ip6_fib.c:662) rtnl_dump_all (net/core/rtnetlink.c:4029) netlink_dump (net/netlink/af_netlink.c:2269) netlink_recvmsg (net/netlink/af_netlink.c:1988) ____sys_recvmsg (net/socket.c:1046 net/socket.c:2801) ___sys_recvmsg (net/socket.c:2846) do_recvmmsg (net/socket.c:2943) __x64_sys_recvmmsg (net/socket.c:3041 net/socket.c:3034 net/socket.c:3034)
[1]: BUG: TASK stack guard page was hit at 00000000f2fa9af1 (stack is 00000000b7912430..000000009a436beb) stack guard page: 0000 [#1] PREEMPT SMP KASAN CPU: 1 PID: 223719 Comm: kworker/1:3 Not tainted 6.8.0-12821-g537c2e91d354-dirty #11 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 Workqueue: events netlink_sock_destruct_work RIP: 0010:fib6_dump_done (net/ipv6/ip6_fib.c:570) Code: 3c 24 e8 f3 e9 51 fd e9 28 fd ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 41 57 41 56 41 55 41 54 55 48 89 fd <53> 48 8d 5d 60 e8 b6 4d 07 fd 48 89 da 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d980000 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffffffff84405990 RCX: ffffffff844059d3 RDX: ffff8881028e0000 RSI: ffffffff84405ac2 RDI: ffff88810c02f358 RBP: ffff88810c02f358 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000224 R12: 0000000000000000 R13: ffff888007c82c78 R14: ffff888007c82c68 R15: ffff888007c82c68 FS: 0000000000000000(0000) GS:ffff88811b100000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffc9000d97fff8 CR3: 0000000102309002 CR4: 0000000000770ef0 PKRU: 55555554 Call Trace: <#DF> </#DF> <TASK> fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1)) fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1)) ... fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1)) fib6_dump_done (net/ipv6/ip6_fib.c:572 (discriminator 1)) netlink_sock_destruct (net/netlink/af_netlink.c:401) __sk_destruct (net/core/sock.c:2177 (discriminator 2)) sk_destruct (net/core/sock.c:2224) __sk_free (net/core/sock.c:2235) sk_free (net/core/sock.c:2246) process_one_work (kernel/workqueue.c:3259) worker_thread (kernel/workqueue.c:3329 kernel/workqueue. ---truncated---
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jun 27, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-abi-stablelists | Oct 8, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade bpftoolUpgrade kernel-tools-libs | Oct 8, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-abi-stablelists | Oct 9, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-libs | Oct 8, 2024 | May 19, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2024 | May 19, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Dec 5, 2024 | May 19, 2024 |
| Suse | — | Upgrade kernel-defaultUpgrade kernel-rt-vdsoUpgrade kernel-debug-vdsoUpgrade dtb-rockchipUpgrade gfs2-kmp-defaultUpgrade kernel-azure-vdsoUpgrade kernel-rt-optionalUpgrade kernel-azure-optionalUpgrade kernel-docsUpgrade dtb-sprdUpgrade kernel-azure-livepatch-develUpgrade kselftests-kmp-rtUpgrade kernel-default-manUpgrade dlm-kmp-rtUpgrade kernel-rt-extraUpgrade kernel-docs-htmlUpgrade kernel-obs-buildUpgrade kernel-rtUpgrade kernel-source-rtUpgrade dtb-marvellUpgrade dtb-nvidiaUpgrade kernel-rt_debugUpgrade kernel-syms-rtUpgrade kernel-azure-develUpgrade kernel-rt-livepatch-develUpgrade dlm-kmp-defaultUpgrade dtb-caviumUpgrade kernel-64kb-extraUpgrade ocfs2-kmp-defaultUpgrade ocfs2-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade cluster-md-kmp-64kbUpgrade dtb-broadcomUpgrade kernel-default-baseUpgrade kernel-default-vdsoUpgrade kernel-default-livepatchUpgrade dtb-qcomUpgrade kernel-azureUpgrade kselftests-kmp-azureUpgrade dtb-allwinnerUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-alteraUpgrade kernel-azure-baseUpgrade kernel-kvmsmall-vdsoUpgrade gfs2-kmp-azureUpgrade kernel-source-vanillaUpgrade reiserfs-kmp-azureUpgrade kernel-rt_debug-develUpgrade kernel-rt-livepatchUpgrade kernel-symsUpgrade reiserfs-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-kvmsmall-develUpgrade cluster-md-kmp-azureUpgrade kernel-macrosUpgrade kernel-devel-azureUpgrade kernel-azure-extraUpgrade kernel-64kb-develUpgrade dtb-freescaleUpgrade dtb-socionextUpgrade kernel-rt_debug-vdsoUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-mediatekUpgrade cluster-md-kmp-defaultUpgrade gfs2-kmp-rtUpgrade ocfs2-kmp-azureUpgrade kernel-zfcpdumpUpgrade kernel-64kb-optionalUpgrade dtb-xilinxUpgrade kernel-debug-livepatch-develUpgrade kernel-64kb-livepatch-develUpgrade kernel-default-optionalUpgrade dtb-renesasUpgrade dtb-armUpgrade dtb-appleUpgrade dtb-apmUpgrade dtb-amlogicUpgrade dlm-kmp-64kbUpgrade kselftests-kmp-defaultUpgrade kernel-kvmsmallUpgrade kselftests-kmp-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-debugUpgrade kernel-default-livepatch-develUpgrade kernel-syms-azureUpgrade kernel-obs-qaUpgrade dtb-amdUpgrade dtb-amazonUpgrade kernel-sourceUpgrade kernel-rt-develUpgrade kernel-default-extraUpgrade kernel-default-develUpgrade dtb-exynosUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-rtUpgrade kernel-debug-develUpgrade dtb-lgUpgrade dlm-kmp-azureUpgrade kernel-develUpgrade kernel-64kbUpgrade dtb-hisiliconUpgrade kernel-devel-rtUpgrade kernel-source-azure | Jul 10, 2024 | May 19, 2024 |
| Ubuntu | — | Upgrade linux-image-raspi2Upgrade linux-image-generic-lpaeUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-4.4.0-1177-awsUpgrade linux-image-5.15.0-116-lowlatencyUpgrade linux-image-aws-hweUpgrade linux-image-azure-lts-20.04Upgrade linux-image-4.15.0-232-lowlatencyUpgrade linux-image-virtual-hwe-16.04Upgrade linux-image-ibmUpgrade linux-image-5.15.0-1063-oracleUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-azure-fdeUpgrade linux-image-azure-lts-22.04Upgrade linux-image-azure-lts-18.04Upgrade linux-image-4.4.0-1140-kvmUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-nvidiaUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-116-generic-lpaeUpgrade linux-image-ibm-classicUpgrade linux-image-4.4.0-262-genericUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-gkeopUpgrade linux-image-intelUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-raspiUpgrade linux-image-genericUpgrade linux-image-intel-iotgUpgrade linux-image-aws-lts-20.04Upgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-4.15.0-1184-azureUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-lts-xenialUpgrade linux-image-oem-24.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.8.0-1008-oemUpgrade linux-image-oem-osp1Upgrade linux-image-5.4.0-189-lowlatencyUpgrade linux-image-oemUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1062-kvmUpgrade linux-image-5.4.0-1132-gcpUpgrade linux-image-5.15.0-1068-azureUpgrade linux-image-5.15.0-1048-gkeopUpgrade linux-image-azureUpgrade linux-image-4.4.0-262-lowlatencyUpgrade linux-image-5.15.0-116-lowlatency-64kUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-gkeop-5.4Upgrade linux-image-lowlatency-64kUpgrade linux-image-5.4.0-1116-kvmUpgrade linux-image-5.15.0-1060-intel-iotgUpgrade linux-image-4.4.0-1139-awsUpgrade linux-image-5.15.0-116-genericUpgrade linux-image-oem-20.04bUpgrade linux-image-lowlatencyUpgrade linux-image-5.4.0-1127-oracleUpgrade linux-image-gke-5.15Upgrade linux-image-5.4.0-189-generic-lpaeUpgrade linux-image-4.15.0-1176-awsUpgrade linux-image-5.4.0-1088-bluefieldUpgrade linux-image-gkeUpgrade linux-image-generic-hwe-16.04Upgrade linux-image-bluefieldUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-awsUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-1065-awsUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1068-azure-fdeUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1075-ibmUpgrade linux-image-oracle-lts-18.04Upgrade linux-image-5.4.0-1133-azureUpgrade linux-image-4.15.0-1159-kvmUpgrade linux-image-raspi-nolpaeUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-1065-gcpUpgrade linux-image-gcpUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.4.0-1112-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-4.15.0-1138-oracleUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-1060-nvidiaUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-virtual-lts-xenialUpgrade linux-image-aws-lts-18.04Upgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1007-intelUpgrade linux-image-5.4.0-189-genericUpgrade linux-image-gcp-lts-18.04Upgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-5.15.0-1062-gkeUpgrade linux-image-5.4.0-1047-xilinx-zynqmpUpgrade linux-image-virtualUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-5.15.0-1058-ibmUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-5.15.0-1060-nvidia-lowlatencyUpgrade linux-image-lowlatency-lts-xenialUpgrade linux-image-4.15.0-232-genericUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-4.15.0-1169-gcpUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-116-generic-64kUpgrade linux-image-kvmUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-oracleUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1064-gcpUpgrade linux-image-lowlatency-hwe-16.04Upgrade linux-image-5.4.0-1095-gkeopUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.4.0-1128-awsUpgrade linux-image-5.4.0-1040-iot | Jul 12, 2024 | May 19, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 19, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub