In the Linux kernel, the following vulnerability has been resolved:
net: tun: Fix memory leaks of napi_get_frags
kmemleak reports after running test_progs:
unreferenced object 0xffff8881b1672dc0 (size 232): comm "test_progs", pid 394388, jiffies 4354712116 (age 841.975s) hex dump (first 32 bytes): e0 84 d7 a8 81 88 ff ff 80 2c 67 b1 81 88 ff ff .........,g..... 00 40 c5 9b 81 88 ff ff 00 00 00 00 00 00 00 00 .@.............. backtrace: [<00000000c8f01748>] napi_skb_cache_get+0xd4/0x150 [<0000000041c7fc09>] __napi_build_skb+0x15/0x50 [<00000000431c7079>] __napi_alloc_skb+0x26e/0x540 [<000000003ecfa30e>] napi_get_frags+0x59/0x140 [<0000000099b2199e>] tun_get_user+0x183d/0x3bb0 [tun] [<000000008a5adef0>] tun_chr_write_iter+0xc0/0x1b1 [tun] [<0000000049993ff4>] do_iter_readv_writev+0x19f/0x320 [<000000008f338ea2>] do_iter_write+0x135/0x630 [<000000008a3377a4>] vfs_writev+0x12e/0x440 [<00000000a6b5639a>] do_writev+0x104/0x280 [<00000000ccf065d8>] do_syscall_64+0x3b/0x90 [<00000000d776e329>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
The issue occurs in the following scenarios: tun_get_user() napi_gro_frags() napi_frags_finish() case GRO_NORMAL: gro_normal_one() list_add_tail(&skb->list, &napi->rx_list); <-- While napi->rx_count < READ_ONCE(gro_normal_batch), <-- gro_normal_list() is not called, napi->rx_list is not empty <-- not ask to complete the gro work, will cause memory leaks in <-- following tun_napi_del() ... tun_napi_del() netif_napi_del() __netif_napi_del() <-- &napi->rx_list is not empty, which caused memory leaks
To fix, add napi_complete() after napi_gro_frags().
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/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 kernel-debuginfoUpgrade kernelUpgrade python-perf-debuginfoUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-livepatch-5.15.79-51.138Upgrade bpftool-debuginfoUpgrade python-perfUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-livepatch-5.10.155-138.670Upgrade kernel-tools-debuginfoUpgrade perfUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade bpftool | Jun 23, 2025 | May 1, 2025 |
| Debian | — | Upgrade linux | May 5, 2025 | May 1, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libs | Aug 13, 2025 | Aug 9, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 1, 2025 |
| Ubuntu | — | Upgrade linux-gcpUpgrade linux-xilinx-zynqmpUpgrade linux-aws-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-hweUpgrade linux-kvmUpgrade linux-intel-iotg-5.15Upgrade linux-awsUpgrade linux-bluefieldUpgrade linux-realtimeUpgrade linux-nvidiaUpgrade linux-intel-iot-realtimeUpgrade linux-riscv-5.15Upgrade linux-intel-iotgUpgrade linux-gcp-5.15Upgrade linux-gcp-fipsUpgrade linux-fipsUpgrade linux-raspi-5.4Upgrade linux-oracleUpgrade linux-gcp-4.15Upgrade linux-azure-5.15Upgrade linux-nvidia-tegra-5.15Upgrade linux-aws-fipsUpgrade linux-ibmUpgrade linux-aws-hweUpgrade linux-gkeopUpgrade linux-iotUpgrade linux-aws-5.4Upgrade linux-gcp-5.4Upgrade linux-hwe-5.4Upgrade linuxUpgrade linux-hwe-5.15Upgrade linux-lowlatencyUpgrade linux-azureUpgrade linux-azure-5.4Upgrade linux-raspiUpgrade linux-azure-4.15Upgrade linux-azure-fipsUpgrade linux-gkeUpgrade linux-oracle-5.15Upgrade linux-oracle-5.4Upgrade linux-ibm-5.4 | May 6, 2025 | May 1, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | May 1, 2025 |
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