CVE-2025-68744
NoneCVSS
—
EPSS
0.2%
Published
Dec 24, 2025
CISA due date
—
Cloudanix analysis
A flaw in the Linux kernel can cause memory to be wasted over time when certain networking programs run, potentially slowing or crashing the system if left unpatched.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing bpf_obj_free_fields() calls after copy_map_value in pcpu_copy_value() for percpu_hash and lru_percpu_hash maps allow BPF_KPTR_REF and BPF_KPTR_PERCPU fields to retain references to allocated objects until map destruction, causing a memory leak.
Why it matters to the business
Long-running systems that repeatedly update percpu hash maps containing kptr fields can experience gradual kernel memory exhaustion, leading to degraded performance or denial of service in affected Linux distributions.
How an attack unfolds
An attacker with the ability to load and update BPF programs targeting percpu hash maps that store kptr fields repeatedly performs map updates; each update leaks the prior kptr-referenced memory because the free call is absent, accumulating unreclaimed kernel allocations until the map or system is destroyed.
How to fix it
Upgrade to a fixed kernel version containing commit 120b8e527e07c65de7f2b9018dcd9d17e66f2427 or later; Debian 12 and 13 users should install linux 6.1.11-1 or newer packages; rebuild and redeploy any custom BPF programs after kernel update.
How to confirm the fix worked
Confirm the running kernel contains the referenced commit or package version; inspect pcpu_copy_value() source for the added bpf_obj_free_fields() call after copy_map_value; monitor kernel memory statistics during map-update workloads to verify leak absence.
Typical attack path
- Obtain CAP_BPF or equivalent privileges to load BPF programs
- Create a percpu_hash or lru_percpu_hash map containing BPF_KPTR_REF or BPF_KPTR_PERCPU fields
- Perform repeated map updates via bpf_map_update_elem
- Observe progressive kernel memory consumption without corresponding object release
How to detect it
Review kernel logs for repeated allocation warnings tied to BPF map operations; correlate high slab or percpu memory growth with bpf map update activity on systems running vulnerable kernels; examine BPF program load and map-update audit events for patterns involving kptr-containing maps.
What your security team should do
- Prioritize kernel upgrades on any system exposing BPF map operations to untrusted workloads
- Audit BPF programs for use of percpu hash maps with kptr fields and schedule testing after patch application
- Enable kernel memory accounting and alerting to detect anomalous allocation growth in production
The record
In the Linux kernel, the following vulnerability has been resolved: bpf: Free special fields when update [lru_,]percpu_hash maps As [lru_,]percpu_hash maps support BPF_KPTR_{REF,PERCPU}, missing calls to 'bpf_obj_free_fields()' in 'pcpu_copy_value()' could cause the memory referenced by BPF_KPTR_{REF,PERCPU} fields to be held until the map gets freed. Fix this by calling 'bpf_obj_free_fields()' after 'copy_map_value[,_long]()' in 'pcpu_copy_value()'.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 6.4.0 | 6.12.63 |
| Linux | Kernel | 6.4.0 | 6.6.120 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.9.1.160000.2.6 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.9.1 |
| openSUSE:Tumbleweed | kernel-source | 0 | 6.18.5-1.1 |
| openSUSE:Tumbleweed | kernel-source-longterm | 0 | 6.18.16-1.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel