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 bpftool-debuginfoUpgrade kernel-livepatch-5.15.166-111.163Upgrade perfUpgrade python-perfUpgrade perf-debuginfoUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-5.10.225-213.878Upgrade kernel-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade kernelUpgrade kernel-livepatch-4.14.352-268.569Upgrade kernel-tools-develUpgrade kernel-debuginfo-common-x86_64 | Sep 27, 2024 | Sep 18, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-modules-extraUpgrade kernel-develUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade kernel-livepatch-6.1.109-118.189Upgrade python3-perf-debuginfoUpgrade kernel-tools-develUpgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade kernel-libbpfUpgrade perf-debuginfoUpgrade python3-perfUpgrade kernel-libbpf-staticUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-modules-extra-commonUpgrade kernelUpgrade kernel-libbpf-develUpgrade kernel-headersUpgrade bpftool-debuginfoUpgrade kernel-tools | 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 kernel-docsUpgrade dtb-socionextUpgrade kernel-azure-vdsoUpgrade kernel-rt-vdsoUpgrade dlm-kmp-azureUpgrade dlm-kmp-rtUpgrade kernel-debug-vdsoUpgrade kernel-obs-buildUpgrade kernel-rt_debug-vdsoUpgrade cluster-md-kmp-64kbUpgrade kernel-azureUpgrade kernel-64kb-optionalUpgrade dtb-nvidiaUpgrade kernel-default-baseUpgrade ocfs2-kmp-azureUpgrade dtb-armUpgrade reiserfs-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade dlm-kmp-defaultUpgrade kernel-rt-extraUpgrade kernel-azure-extraUpgrade reiserfs-kmp-rtUpgrade kernel-debug-develUpgrade kselftests-kmp-rtUpgrade kernel-defaultUpgrade kernel-docs-htmlUpgrade dtb-hisiliconUpgrade cluster-md-kmp-defaultUpgrade kernel-rt_debugUpgrade dtb-marvellUpgrade kernel-default-manUpgrade dtb-appleUpgrade dtb-renesasUpgrade dtb-broadcomUpgrade kernel-64kb-extraUpgrade kernel-debugUpgrade kernel-syms-rtUpgrade kernel-rt-livepatch-develUpgrade kernel-64kb-develUpgrade gfs2-kmp-defaultUpgrade kernel-kvmsmall-vdsoUpgrade dtb-amdUpgrade dtb-sprdUpgrade kselftests-kmp-defaultUpgrade kernel-default-livepatchUpgrade kernel-syms-azureUpgrade kernel-default-optionalUpgrade kernel-source-vanillaUpgrade kernel-rt-optionalUpgrade kernel-rtUpgrade dtb-apmUpgrade dtb-amazonUpgrade cluster-md-kmp-azureUpgrade kselftests-kmp-64kbUpgrade dlm-kmp-64kbUpgrade kernel-azure-optionalUpgrade dtb-qcomUpgrade ocfs2-kmp-rtUpgrade dtb-rockchipUpgrade kselftests-kmp-azureUpgrade kernel-default-develUpgrade kernel-default-base-rebuildUpgrade dtb-xilinxUpgrade dtb-caviumUpgrade reiserfs-kmp-azureUpgrade kernel-source-rtUpgrade dtb-exynosUpgrade kernel-rt_debug-develUpgrade gfs2-kmp-rtUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade kernel-macrosUpgrade kernel-default-extraUpgrade kernel-kvmsmall-develUpgrade kernel-source-azureUpgrade gfs2-kmp-64kbUpgrade dtb-freescaleUpgrade reiserfs-kmp-64kbUpgrade kernel-64kbUpgrade dtb-mediatekUpgrade kernel-zfcpdumpUpgrade kernel-devel-rtUpgrade kernel-azure-develUpgrade kernel-default-vdsoUpgrade dtb-allwinnerUpgrade kernel-symsUpgrade kernel-obs-qaUpgrade ocfs2-kmp-defaultUpgrade kernel-sourceUpgrade kernel-develUpgrade kernel-rt-develUpgrade kernel-kvmsmallUpgrade gfs2-kmp-azureUpgrade dtb-alteraUpgrade dtb-amlogicUpgrade kernel-devel-azureUpgrade dtb-lg | Dec 5, 2025 | May 20, 2025 |
| Ubuntu | — | Upgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1065-ibmUpgrade linux-image-5.15.0-1055-gkeopUpgrade linux-image-nvidiaUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1018-oemUpgrade linux-image-ibmUpgrade linux-image-gkeopUpgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-azureUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-oem-22.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-125-lowlatencyUpgrade linux-image-raspiUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1020-azureUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-125-generic-64kUpgrade linux-image-gke-5.15Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-oem-24.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-1071-gcpUpgrade linux-image-5.15.0-1069-gkeUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-5.15.0-1067-nvidia-lowlatencyUpgrade linux-image-5.15.0-1078-azureUpgrade linux-image-oem-22.04aUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-genericUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1020-awsUpgrade linux-image-5.15.0-125-generic-lpaeUpgrade linux-image-5.15.0-1067-nvidiaUpgrade linux-image-5.15.0-125-genericUpgrade linux-image-intelUpgrade linux-image-gkeUpgrade linux-image-5.15.0-125-lowlatency-64kUpgrade linux-image-5.15.0-1070-oracleUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.15.0-1038-xilinx-zynqmpUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gcpUpgrade linux-image-aws-lts-22.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-5.15.0-1069-kvmUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1067-intel-iotgUpgrade linux-image-raspi-nolpaeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-nvidia-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-oracleUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1019-nvidia-64kUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1072-awsUpgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-virtualUpgrade linux-image-ibm-classicUpgrade linux-image-awsUpgrade linux-image-5.15.0-1075-azureUpgrade linux-image-6.8.0-50-genericUpgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-oem-22.04dUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-1065-raspiUpgrade linux-image-kvmUpgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-oem-24.04aUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-generic-lpae-hwe-20.04 | 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