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