Vulnerability · Published May 8, 2025 · Assigned by Linux

CVE-2025-37807bpf: Fix kmemleak warning for percpu hashmap

Medium 5.5

In plain English

A medium-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 16% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)5.5Medium
Exploit odds (30 days)0.2%top 83.9% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix kmemleak warning for percpu hashmap Vlad Poenaru reported the following kmemleak issue: unreferenced object 0x606fd7c44ac8 (size 32): backtrace (crc 0): pcpu_alloc_noprof+0x730/0xeb0 bpf_map_alloc_percpu+0x69/0xc0 prealloc_init+0x9d/0x1b0 htab_map_alloc+0x363/0x510 map_create+0x215/0x3a0 __sys_bpf+0x16b/0x3e0 __x64_sys_bpf+0x18/0x20 do_syscall_64+0x7b/0x150 entry_SYSCALL_64_after_hwframe+0x4b/0x53 Further investigation shows the reason is due to not 8-byte aligned store of percpu pointer in htab_elem_set_ptr(): *(void __percpu **)(l->key + key_size) = pptr; Note that the whole htab_elem alignment is 8 (for x86_64). If the key_size is 4, that means pptr is stored in a location which is 4 byte aligned but not 8 byte aligned. In mm/kmemleak.c, scan_block() scans the memory based on 8 byte stride, so it won't detect above pptr, hence reporting the memory leak. In htab_map_alloc(), we already have htab->elem_size = sizeof(struct htab_elem) + round_up(htab->map.key_size, 8); if (percpu) htab->elem_size += sizeof(void *); else htab->elem_size += round_up(htab->map.value_size, 8); So storing pptr with 8-byte alignment won't cause any problem and can fix kmemleak too. The issue can be reproduced with bpf selftest as well: 1. Enable CONFIG_DEBUG_KMEMLEAK config 2. Add a getchar() before skel destroy in test_hash_map() in prog_tests/for_each.c. The purpose is to keep map available so kmemleak can be detected. 3. run './test_progs -t for_each/hash_map &' and a kmemleak should be reported.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linuxno fix listedDEBIAN-CVE-2025-37807
Debian:13linux6.12.27-1DEBIAN-CVE-2025-37807
Debian:14linux6.12.27-1DEBIAN-CVE-2025-37807
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-awsno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azureno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:25.10linux-azure-fdeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-gcp-6.146.14.0-1011.11~24.04.1UBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-gcp-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-intelno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-intel-iotgno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-kvmno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1036.39USN-8886-1
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1036.39UBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-nvidia-tegra-igxno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2025-37807
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2025-37807
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2025-37807

Affected products (as reported)

VendorProductVersions
Linux Linux 824bd0ce6c7c43a9e1e210abf124958e54d88342 – before c5f4b04e1838b9eec426d80500af49cff8631762824bd0ce6c7c43a9e1e210abf124958e54d88342 – before 25014e3dfa6d2fb95c920b9e6b2f0b303baa4533824bd0ce6c7c43a9e1e210abf124958e54d88342 – before 7758e308aeda1038aba1944f7302d34161b3effe824bd0ce6c7c43a9e1e210abf124958e54d88342 – before 1f1c29aa1934177349c17e3c32e68ec38a7a56df824bd0ce6c7c43a9e1e210abf124958e54d88342 – before 11ba7ce076e5903e7bdc1fd1498979c331b3c286
Linux Linux 4.6

References