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 kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel | Oct 8, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernel | Oct 8, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libsUpgrade bpftool | Oct 9, 2024 | May 19, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernel | Oct 8, 2024 | May 19, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2024 | May 19, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernel-rtUpgrade kernel | Dec 5, 2024 | May 19, 2024 |
| Suse | — | Upgrade reiserfs-kmp-64kbUpgrade kernel-rt-livepatch-develUpgrade kernel-source-vanillaUpgrade kernel-default-base-rebuildUpgrade ocfs2-kmp-defaultUpgrade ocfs2-kmp-64kbUpgrade kernel-default-baseUpgrade dtb-nvidiaUpgrade dtb-rockchipUpgrade dtb-marvellUpgrade kernel-azure-vdsoUpgrade kernel-rt-extraUpgrade kernel-rt-optionalUpgrade gfs2-kmp-defaultUpgrade kernel-rt_debug-develUpgrade kernel-source-rtUpgrade reiserfs-kmp-azureUpgrade kernel-debug-vdsoUpgrade kernel-syms-rtUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-rtUpgrade dtb-caviumUpgrade kernel-default-manUpgrade kernel-azure-develUpgrade kernel-rtUpgrade kernel-64kb-extraUpgrade dtb-sprdUpgrade kernel-azure-livepatch-develUpgrade dlm-kmp-rtUpgrade kernel-azureUpgrade kernel-azure-optionalUpgrade kernel-docsUpgrade kernel-default-vdsoUpgrade dtb-broadcomUpgrade dtb-qcomUpgrade kernel-rt_debugUpgrade kernel-default-livepatchUpgrade kernel-kvmsmall-vdsoUpgrade kselftests-kmp-azureUpgrade kernel-rt-vdsoUpgrade gfs2-kmp-azureUpgrade kernel-obs-buildUpgrade cluster-md-kmp-64kbUpgrade kernel-defaultUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-docs-htmlUpgrade kernel-azure-baseUpgrade dtb-allwinnerUpgrade dtb-alteraUpgrade dtb-freescaleUpgrade dtb-hisiliconUpgrade cluster-md-kmp-defaultUpgrade gfs2-kmp-rtUpgrade dtb-xilinxUpgrade kernel-develUpgrade kernel-debug-livepatch-develUpgrade kernel-debug-develUpgrade kernel-64kb-optionalUpgrade kernel-devel-azureUpgrade kernel-azure-extraUpgrade kernel-macrosUpgrade dtb-socionextUpgrade kernel-64kb-develUpgrade kernel-rt_debug-vdsoUpgrade dtb-exynosUpgrade kernel-default-extraUpgrade kernel-default-develUpgrade cluster-md-kmp-rtUpgrade kernel-zfcpdumpUpgrade kernel-rt-develUpgrade kernel-sourceUpgrade kselftests-kmp-64kbUpgrade kernel-syms-azureUpgrade kernel-obs-qaUpgrade kernel-default-livepatch-develUpgrade kernel-debugUpgrade dtb-amdUpgrade dtb-amazonUpgrade gfs2-kmp-64kbUpgrade kernel-rt-livepatchUpgrade kernel-devel-rtUpgrade kernel-64kbUpgrade kernel-source-azureUpgrade kernel-symsUpgrade dtb-lgUpgrade ocfs2-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-kvmsmall-develUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-rtUpgrade dtb-apmUpgrade dlm-kmp-64kbUpgrade kselftests-kmp-defaultUpgrade kernel-default-optionalUpgrade kernel-64kb-livepatch-develUpgrade dtb-renesasUpgrade dtb-armUpgrade dtb-amlogicUpgrade dlm-kmp-azureUpgrade dtb-appleUpgrade kernel-kvmsmallUpgrade dtb-mediatekUpgrade ocfs2-kmp-azureUpgrade kernel-kvmsmall-livepatch-devel | Jul 10, 2024 | May 19, 2024 |
| Ubuntu | — | Upgrade linux-image-4.15.0-1159-kvmUpgrade linux-image-5.4.0-1088-bluefieldUpgrade linux-image-4.15.0-232-genericUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-kvmUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-4.15.0-1169-gcpUpgrade linux-image-5.4.0-1112-raspiUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-5.15.0-1058-ibmUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-oem-20.04Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1128-awsUpgrade linux-image-lowlatency-hwe-16.04Upgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.15.0-1062-gkeUpgrade linux-image-5.15.0-116-generic-64kUpgrade linux-image-5.15.0-1065-gcpUpgrade linux-image-oracleUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-5.4.0-1133-azureUpgrade linux-image-5.15.0-1064-gcpUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-oem-20.04dUpgrade linux-image-lowlatency-lts-xenialUpgrade linux-image-gkeUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-raspi-nolpaeUpgrade linux-image-oracle-64kUpgrade linux-image-5.4.0-1047-xilinx-zynqmpUpgrade linux-image-5.15.0-1060-nvidiaUpgrade linux-image-5.15.0-1068-azure-fdeUpgrade linux-image-5.4.0-1075-ibmUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-nvidia-64kUpgrade linux-image-gcp-lts-18.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-oracle-lts-18.04Upgrade linux-image-6.8.0-1007-intelUpgrade linux-image-5.15.0-1065-awsUpgrade linux-image-5.15.0-1060-nvidia-lowlatencyUpgrade linux-image-5.4.0-1040-iotUpgrade linux-image-aws-lts-18.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-virtual-lts-xenialUpgrade linux-image-awsUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.4.0-1095-gkeopUpgrade linux-image-oem-24.04aUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-4.15.0-1138-oracleUpgrade linux-image-5.4.0-189-genericUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-1010-azureUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-generic-hwe-16.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-azure-cvmUpgrade linux-image-gcpUpgrade linux-image-virtualUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-5.15.0-1068-azureUpgrade linux-image-azure-lts-18.04Upgrade linux-image-intelUpgrade linux-image-5.15.0-116-generic-lpaeUpgrade linux-image-lowlatencyUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1060-intel-iotgUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-5.15.0-116-lowlatency-64kUpgrade linux-image-5.4.0-1116-kvmUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-oemUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-osp1Upgrade linux-image-intel-iotgUpgrade linux-image-azureUpgrade linux-image-5.4.0-189-lowlatencyUpgrade linux-image-azure-lts-22.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-generic-64kUpgrade linux-image-raspiUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-4.4.0-1140-kvmUpgrade linux-image-gkeop-5.4Upgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-5.15.0-116-lowlatencyUpgrade linux-image-5.15.0-1063-oracleUpgrade linux-image-5.4.0-189-generic-lpaeUpgrade linux-image-lowlatency-64kUpgrade linux-image-4.15.0-232-lowlatencyUpgrade linux-image-raspi2Upgrade linux-image-azure-lts-20.04Upgrade linux-image-5.15.0-116-genericUpgrade linux-image-5.4.0-1127-oracleUpgrade linux-image-aws-hweUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-4.4.0-262-genericUpgrade linux-image-5.15.0-1062-kvmUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-genericUpgrade linux-image-oem-20.04cUpgrade linux-image-4.4.0-1139-awsUpgrade linux-image-generic-lts-xenialUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-4.4.0-1177-awsUpgrade linux-image-4.15.0-1184-azureUpgrade linux-image-4.15.0-1176-awsUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-virtual-hwe-16.04Upgrade linux-image-oem-24.04Upgrade linux-image-aws-lts-20.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-4.4.0-262-lowlatencyUpgrade linux-image-ibm-classicUpgrade linux-image-gke-5.15Upgrade linux-image-ibmUpgrade linux-image-5.4.0-1132-gcpUpgrade linux-image-5.15.0-1048-gkeopUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-gkeop | 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