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---
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.10.225-213.878Upgrade kernel-toolsUpgrade perf-debuginfoUpgrade kernel-livepatch-5.15.166-111.163Upgrade python-perfUpgrade kernel-livepatch-4.14.352-268.569Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-develUpgrade kernel-debuginfoUpgrade kernel-headersUpgrade kernel-tools-develUpgrade kernel | Sep 27, 2024 | Sep 18, 2024 |
| Amazon_linux_2023 | — | Upgrade perfUpgrade kernel-develUpgrade python3-perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-6.1.109-118.189Upgrade bpftoolUpgrade kernel-modules-extraUpgrade perf-debuginfoUpgrade python3-perfUpgrade kernel-tools-develUpgrade kernel-tools-debuginfoUpgrade kernel-libbpfUpgrade kernel-modules-extra-commonUpgrade kernel-toolsUpgrade kernel-libbpf-staticUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-headersUpgrade kernel-libbpf-develUpgrade kernel-debuginfo-common-x86_64 | Feb 17, 2025 | Sep 18, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Oct 7, 2024 | Sep 18, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Nov 21, 2024 | Sep 18, 2024 |
| Suse | — | Upgrade kselftests-kmp-64kbUpgrade gfs2-kmp-64kbUpgrade dtb-amlogicUpgrade cluster-md-kmp-azureUpgrade dtb-amazonUpgrade kernel-default-livepatchUpgrade dlm-kmp-64kbUpgrade kernel-zfcpdumpUpgrade dtb-mediatekUpgrade kernel-64kbUpgrade dtb-apmUpgrade kernel-default-vdsoUpgrade kernel-default-extraUpgrade dtb-freescaleUpgrade kernel-azure-develUpgrade kernel-kvmsmall-develUpgrade kernel-source-azureUpgrade kernel-devel-rtUpgrade kernel-default-optionalUpgrade kernel-macrosUpgrade reiserfs-kmp-64kbUpgrade kernel-default-develUpgrade kernel-symsUpgrade kselftests-kmp-azureUpgrade reiserfs-kmp-azureUpgrade dtb-caviumUpgrade kernel-obs-qaUpgrade dtb-xilinxUpgrade kernel-default-base-rebuildUpgrade dtb-allwinnerUpgrade kernel-rtUpgrade dtb-rockchipUpgrade gfs2-kmp-rtUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade kernel-source-rtUpgrade ocfs2-kmp-64kbUpgrade dtb-exynosUpgrade dtb-lgUpgrade gfs2-kmp-azureUpgrade dtb-alteraUpgrade kernel-rt-develUpgrade kernel-develUpgrade ocfs2-kmp-defaultUpgrade kernel-kvmsmallUpgrade kernel-sourceUpgrade kernel-source-vanillaUpgrade kernel-syms-azureUpgrade cluster-md-kmp-rtUpgrade kernel-azure-optionalUpgrade kernel-devel-azureUpgrade ocfs2-kmp-rtUpgrade dtb-qcomUpgrade kernel-azure-extraUpgrade cluster-md-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debugUpgrade dtb-broadcomUpgrade kselftests-kmp-rtUpgrade kernel-rt-extraUpgrade kernel-defaultUpgrade kernel-debug-develUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-azureUpgrade dtb-sprdUpgrade gfs2-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-default-baseUpgrade dtb-hisiliconUpgrade dtb-armUpgrade reiserfs-kmp-defaultUpgrade kernel-docs-htmlUpgrade kernel-default-livepatch-develUpgrade kernel-azureUpgrade dtb-nvidiaUpgrade kernel-64kb-optionalUpgrade kernel-rt_debug-vdsoUpgrade kernel-rt_debugUpgrade dtb-socionextUpgrade kernel-obs-buildUpgrade dtb-amdUpgrade cluster-md-kmp-defaultUpgrade kernel-docsUpgrade kernel-azure-vdsoUpgrade kernel-rt-vdsoUpgrade dlm-kmp-rtUpgrade dlm-kmp-azureUpgrade kernel-debug-vdsoUpgrade kernel-syms-rtUpgrade dtb-renesasUpgrade kernel-default-manUpgrade dtb-appleUpgrade dtb-marvellUpgrade kselftests-kmp-defaultUpgrade kernel-64kb-extraUpgrade kernel-64kb-devel | Dec 5, 2025 | May 20, 2025 |
| Ubuntu | — | Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-gkeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1018-oemUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1020-azureUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-125-generic-lpaeUpgrade linux-image-azure-lts-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1017-oracleUpgrade linux-image-gkeopUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-intel-iotgUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1065-ibmUpgrade linux-image-5.15.0-1055-gkeopUpgrade linux-image-6.8.0-1017-ibmUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1015-gkeUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1071-gcpUpgrade linux-image-genericUpgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-50-generic-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-azureUpgrade linux-image-oem-22.04aUpgrade linux-image-oem-22.04Upgrade linux-image-5.15.0-1069-gkeUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.15.0-1078-azureUpgrade linux-image-5.15.0-1067-nvidia-lowlatencyUpgrade linux-image-gkeop-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-ibmUpgrade linux-image-5.15.0-125-lowlatencyUpgrade linux-image-5.15.0-125-generic-64kUpgrade linux-image-intelUpgrade linux-image-5.15.0-125-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-lowlatencyUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-125-genericUpgrade linux-image-6.8.0-1020-awsUpgrade linux-image-5.15.0-1067-nvidiaUpgrade linux-image-ibm-classicUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1065-raspiUpgrade linux-image-6.8.0-50-lowlatency-64kUpgrade linux-image-6.8.0-1020-azure-fdeUpgrade linux-image-oracle-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-6.8.0-1019-nvidia-lowlatency-64kUpgrade linux-image-gkeop-5.15Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1070-oracleUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1019-nvidiaUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1069-kvmUpgrade linux-image-6.8.0-1019-gcpUpgrade linux-image-virtualUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1067-intel-iotgUpgrade linux-image-5.15.0-1038-xilinx-zynqmpUpgrade linux-image-oem-22.04dUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oem-20.04dUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.8.0-1019-nvidia-lowlatencyUpgrade linux-image-nvidia-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcpUpgrade linux-image-kvmUpgrade linux-image-oem-20.04cUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-6.8.0-1019-nvidia-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-oem-22.04bUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-5.15.0-1072-awsUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1016-raspiUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-50-lowlatencyUpgrade linux-image-5.15.0-1075-azureUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1017-oracle-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-50-generic | 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 |
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