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