CVE-2025-40028: Linux kernel · binder: fix double-free in dbitmap
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 7.8 High · fixed in 6.17.0-1006.6 : patch Linux kernel soon.
Data as of 26 Oct 2026, 10:12 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 4% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 6.17.0-1006.6, 6.17.0-1004.4, 6.17.0-7.7
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 28 Oct 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade Linux kernel to 6.17.0-1006.6, 6.17.0-1004.4 or 6.17.0-7.7.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| linux-hwe-edge | Affected
| Fixed in
|
AI-suggested
The issue is fixed by marking proc->map NULL in dbitmap_free(), so applying the official Linux kernel updates that include this fix is recommended once available.
Description
In the Linux kernel, the following vulnerability has been resolved: binder: fix double-free in dbitmap A process might fail to allocate a new bitmap when trying to expand its proc->dmap. In that case, dbitmap_grow() fails and frees the old bitmap via dbitmap_free(). However, the driver calls dbitmap_free() again when the same process terminates, leading to a double-free error: ================================================================== BUG: KASAN: double-free in binder_proc_dec_tmpref+0x2e0/0x55c Free of addr ffff00000b7c1420 by task kworker/9:1/209 CPU: 9 UID: 0 PID: 209 Comm: kworker/9:1 Not tainted 6.17.0-rc6-dirty #5 PREEMPT Hardware name: linux,dummy-virt (DT) Workqueue: events binder_deferred_func Call trace: kfree+0x164/0x31c binder_proc_dec_tmpref+0x2e0/0x55c binder_deferred_func+0xc24/0x1120 process_one_work+0x520/0xba4 [...] Allocated by task 448: __kmalloc_noprof+0x178/0x3c0 bitmap_zalloc+0x24/0x30 binder_open+0x14c/0xc10 [...] Freed by task 449: kfree+0x184/0x31c binder_inc_ref_for_node+0xb44/0xe44 binder_transaction+0x29b4/0x7fbc binder_thread_write+0x1708/0x442c binder_ioctl+0x1b50/0x2900 [...] ================================================================== Fix this issue by marking proc->map NULL in dbitmap_free().
References
- nvd.nist.gov/vuln/detail/CVE-2025-40028 (opens in a new tab)
- git.kernel.org/stable/c/0390633979969c54c0ce6a198d6f45cdbe2c84b1 (opens in a new tab)
- git.kernel.org/stable/c/3ebcd3460cad351f198c39c6edb4af519a0ed934 (opens in a new tab)
- git.kernel.org/stable/c/b781e5635a3398e2b64440371233c2c5102cd6cb (opens in a new tab)
- git.kernel.org/stable/c/c301ec61ce6f16e21a36b99225ca8a20c1591e10 (opens in a new tab)
- ubuntu.com/security/CVE-2025-40028 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2025-40028 (opens in a new tab)
- ubuntu.com/security/notices/USN-7906-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-7906-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-7906-3 (opens in a new tab)