In the Linux kernel, the following vulnerability has been resolved:
fou: Fix null-ptr-deref in GRO.
We observed a null-ptr-deref in fou_gro_receive() while shutting down a host. [0]
The NULL pointer is sk->sk_user_data, and the offset 8 is of protocol in struct fou.
When fou_release() is called due to netns dismantle or explicit tunnel teardown, udp_tunnel_sock_release() sets NULL to sk->sk_user_data. Then, the tunnel socket is destroyed after a single RCU grace period.
So, in-flight udp4_gro_receive() could find the socket and execute the FOU GRO handler, where sk->sk_user_data could be NULL.
Let's use rcu_dereference_sk_user_data() in fou_from_sock() and add NULL checks in FOU GRO handlers.
[0]: BUG: kernel NULL pointer dereference, address: 0000000000000008 PF: supervisor read access in kernel mode PF: error_code(0x0000) - not-present page PGD 80000001032f4067 P4D 80000001032f4067 PUD 103240067 PMD 0 SMP PTI CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.216-204.855.amzn2.x86_64 #1 Hardware name: Amazon EC2 c5.large/, BIOS 1.0 10/16/2017 RIP: 0010:fou_gro_receive (net/ipv4/fou.c:233) [fou] Code: 41 5f c3 cc cc cc cc e8 e7 2e 69 f4 0f 1f 80 00 00 00 00 0f 1f 44 00 00 49 89 f8 41 54 48 89 f7 48 89 d6 49 8b 80 88 02 00 00 <0f> b6 48 08 0f b7 42 4a 66 25 fd fd 80 cc 02 66 89 42 4a 0f b6 42 RSP: 0018:ffffa330c0003d08 EFLAGS: 00010297 RAX: 0000000000000000 RBX: ffff93d9e3a6b900 RCX: 0000000000000010 RDX: ffff93d9e3a6b900 RSI: ffff93d9e3a6b900 RDI: ffff93dac2e24d08 RBP: ffff93d9e3a6b900 R08: ffff93dacbce6400 R09: 0000000000000002 R10: 0000000000000000 R11: ffffffffb5f369b0 R12: ffff93dacbce6400 R13: ffff93dac2e24d08 R14: 0000000000000000 R15: ffffffffb4edd1c0 FS: 0000000000000000(0000) GS:ffff93daee800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000008 CR3: 0000000102140001 CR4: 00000000007706f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <IRQ> ? show_trace_log_lvl (arch/x86/kernel/dumpstack.c:259) ? __die_body.cold (arch/x86/kernel/dumpstack.c:478 arch/x86/kernel/dumpstack.c:420) ? no_context (arch/x86/mm/fault.c:752) ? exc_page_fault (arch/x86/include/asm/irqflags.h:49 arch/x86/include/asm/irqflags.h:89 arch/x86/mm/fault.c:1435 arch/x86/mm/fault.c:1483) ? asm_exc_page_fault (arch/x86/include/asm/idtentry.h:571) ? fou_gro_receive (net/ipv4/fou.c:233) [fou] udp_gro_receive (include/linux/netdevice.h:2552 net/ipv4/udp_offload.c:559) udp4_gro_receive (net/ipv4/udp_offload.c:604) inet_gro_receive (net/ipv4/af_inet.c:1549 (discriminator 7)) dev_gro_receive (net/core/dev.c:6035 (discriminator 4)) napi_gro_receive (net/core/dev.c:6170) ena_clean_rx_irq (drivers/amazon/net/ena/ena_netdev.c:1558) [ena] ena_io_poll (drivers/amazon/net/ena/ena_netdev.c:1742) [ena] napi_poll (net/core/dev.c:6847) net_rx_action (net/core/dev.c:6917) __do_softirq (arch/x86/include/asm/jump_label.h:25 include/linux/jump_label.h:200 include/trace/events/irq.h:142 kernel/softirq.c:299) asm_call_irq_on_stack (arch/x86/entry/entry_64.S:809) </IRQ> do_softirq_own_stack (arch/x86/include/asm/irq_stack.h:27 arch/x86/include/asm/irq_stack.h:77 arch/x86/kernel/irq_64.c:77) irq_exit_rcu (kernel/softirq.c:393 kernel/softirq.c:423 kernel/softirq.c:435) common_interrupt (arch/x86/kernel/irq.c:239) asm_common_interrupt (arch/x86/include/asm/idtentry.h:626) RIP: 0010:acpi_idle_do_entry (arch/x86/include/asm/irqflags.h:49 arch/x86/include/asm/irqflags.h:89 drivers/acpi/processor_idle.c:114 drivers/acpi/processor_idle.c:575) Code: 8b 15 d1 3c c4 02 ed c3 cc cc cc cc 65 48 8b 04 25 40 ef 01 00 48 8b 00 a8 08 75 eb 0f 1f 44 00 00 0f 00 2d d5 09 55 00 fb f4 <fa> c3 cc cc cc cc e9 be fc ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 RSP: 0018:ffffffffb5603e58 EFLAGS: 00000246 RAX: 0000000000004000 RBX: ffff93dac0929c00 RCX: ffff93daee833900 RDX: ffff93daee800000 RSI: ffff93d ---truncated---
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade kernel-livepatch-4.14.352-268.569Upgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-debuginfoUpgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade python-perfUpgrade kernel-livepatch-5.15.166-111.163Upgrade kernel-toolsUpgrade perfUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-5.10.225-213.878Upgrade bpftool | Sep 27, 2024 | Sep 18, 2024 |
| Amazon_linux_2023 | — | Upgrade python3-perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-6.1.109-118.189Upgrade kernel-modules-extraUpgrade kernel-tools-develUpgrade python3-perf-debuginfoUpgrade kernel-libbpfUpgrade kernel-develUpgrade perf-debuginfoUpgrade perfUpgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade kernel-headersUpgrade bpftool-debuginfoUpgrade kernel-libbpf-staticUpgrade kernelUpgrade kernel-libbpf-devel | Feb 17, 2025 | Sep 18, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Oct 7, 2024 | Sep 18, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Nov 21, 2024 | Sep 18, 2024 |
| Suse | — | Upgrade dtb-rockchipUpgrade gfs2-kmp-rtUpgrade dtb-exynosUpgrade dlm-kmp-64kbUpgrade dtb-lgUpgrade ocfs2-kmp-defaultUpgrade kernel-rt_debug-develUpgrade kernel-default-livepatchUpgrade kernel-develUpgrade kernel-devel-azureUpgrade kernel-kvmsmallUpgrade kernel-sourceUpgrade kernel-rt-develUpgrade gfs2-kmp-azureUpgrade dtb-amlogicUpgrade kernel-rt-optionalUpgrade kernel-zfcpdumpUpgrade kernel-azure-develUpgrade kernel-devel-rtUpgrade dtb-mediatekUpgrade kernel-64kbUpgrade dtb-alteraUpgrade kernel-default-optionalUpgrade kernel-rtUpgrade dtb-qcomUpgrade kernel-source-rtUpgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-rtUpgrade kselftests-kmp-azureUpgrade dtb-xilinxUpgrade kernel-macrosUpgrade reiserfs-kmp-azureUpgrade kernel-azure-optionalUpgrade dtb-allwinnerUpgrade kernel-symsUpgrade kernel-obs-qaUpgrade kernel-default-vdsoUpgrade kernel-kvmsmall-develUpgrade kernel-source-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-source-vanillaUpgrade dtb-freescaleUpgrade dtb-apmUpgrade gfs2-kmp-64kbUpgrade dtb-amazonUpgrade kselftests-kmp-64kbUpgrade kernel-default-extraUpgrade dtb-caviumUpgrade ocfs2-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade kernel-default-develUpgrade kernel-syms-azureUpgrade kselftests-kmp-rtUpgrade kernel-azure-extraUpgrade gfs2-kmp-defaultUpgrade dtb-marvellUpgrade dtb-renesasUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debugUpgrade kernel-64kb-extraUpgrade kernel-64kb-develUpgrade kselftests-kmp-defaultUpgrade dtb-broadcomUpgrade dlm-kmp-rtUpgrade dlm-kmp-azureUpgrade kernel-debug-vdsoUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-defaultUpgrade kernel-rt-extraUpgrade kernel-defaultUpgrade kernel-debug-develUpgrade dtb-sprdUpgrade kernel-default-manUpgrade dtb-appleUpgrade kernel-syms-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-docs-htmlUpgrade kernel-azureUpgrade kernel-64kb-optionalUpgrade dtb-nvidiaUpgrade dtb-armUpgrade dtb-hisiliconUpgrade kernel-default-baseUpgrade kernel-azure-vdsoUpgrade dtb-socionextUpgrade dtb-amdUpgrade cluster-md-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debugUpgrade kernel-rt-vdsoUpgrade kernel-obs-buildUpgrade kernel-rt_debug-vdsoUpgrade kernel-docsUpgrade kernel-rt-livepatch-devel | Dec 5, 2025 | May 20, 2025 |
| Ubuntu | — | Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1065-raspiUpgrade linux-image-gcpUpgrade linux-image-kvmUpgrade linux-image-oem-20.04cUpgrade linux-image-oem-20.04dUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-awsUpgrade linux-image-5.15.0-1072-awsUpgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-gkeop-5.15Upgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-1075-azureUpgrade linux-image-6.8.0-50-genericUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-125-lowlatencyUpgrade linux-image-lowlatencyUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.15.0-125-generic-lpaeUpgrade linux-image-gkeUpgrade linux-image-raspiUpgrade linux-image-azure-lts-22.04Upgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1020-awsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gkeopUpgrade linux-image-ibmUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1071-gcpUpgrade linux-image-6.8.0-1020-azureUpgrade linux-image-oem-20.04bUpgrade linux-image-generic-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1018-oemUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-125-lowlatency-64kUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-125-generic-64kUpgrade linux-image-5.15.0-125-genericUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1065-ibmUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-nvidiaUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-intelUpgrade linux-image-oem-20.04Upgrade linux-image-intel-iotgUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-22.04cUpgrade linux-image-azureUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1067-nvidiaUpgrade linux-image-5.15.0-1067-nvidia-lowlatencyUpgrade linux-image-5.15.0-1078-azureUpgrade linux-image-genericUpgrade linux-image-5.15.0-1055-gkeopUpgrade linux-image-5.15.0-1069-gkeUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1038-xilinx-zynqmpUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-oracle-64kUpgrade linux-image-virtualUpgrade linux-image-5.15.0-1067-intel-iotgUpgrade linux-image-oracleUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1069-kvmUpgrade linux-image-5.15.0-1070-oracleUpgrade linux-image-nvidia-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1019-nvidia-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-azure-cvm | Nov 12, 2024 | Sep 18, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Sep 18, 2024 |
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