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-debuginfo-common-x86_64Upgrade kernel-livepatch-5.15.79-51.138Upgrade bpftool-debuginfoUpgrade python-perf-debuginfoUpgrade perf-debuginfoUpgrade kernelUpgrade kernel-headersUpgrade kernel-debuginfoUpgrade python-perfUpgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-develUpgrade perfUpgrade kernel-livepatch-5.10.155-138.670Upgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64 | Jun 23, 2025 | May 1, 2025 |
| Debian | — | Upgrade linux | May 5, 2025 | May 1, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade bpftoolUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel-abi-stablelists | Aug 13, 2025 | Aug 9, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 1, 2025 |
| Ubuntu | — | Upgrade linux-gcp-fipsUpgrade linux-raspi-5.4Upgrade linux-intel-iotg-5.15Upgrade linux-xilinx-zynqmpUpgrade linux-realtimeUpgrade linux-awsUpgrade linux-riscv-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-bluefieldUpgrade linux-nvidiaUpgrade linux-intel-iot-realtimeUpgrade linux-aws-5.15Upgrade linux-gcpUpgrade linux-hweUpgrade linux-fipsUpgrade linux-kvmUpgrade linux-gcp-5.15Upgrade linux-oracleUpgrade linux-intel-iotgUpgrade linux-azure-4.15Upgrade linux-ibm-5.4Upgrade linux-aws-hweUpgrade linux-azure-5.15Upgrade linux-hwe-5.4Upgrade linux-azure-fipsUpgrade linux-azure-5.4Upgrade linux-raspiUpgrade linux-ibmUpgrade linux-gcp-4.15Upgrade linux-iotUpgrade linux-nvidia-tegra-5.15Upgrade linux-gkeopUpgrade linux-lowlatencyUpgrade linuxUpgrade linux-azureUpgrade linux-hwe-5.15Upgrade linux-gcp-5.4Upgrade linux-aws-fipsUpgrade linux-aws-5.4Upgrade linux-oracle-5.15Upgrade linux-oracle-5.4Upgrade linux-gke | 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