0.0
NA
CVE-2026-64469
binder: fix UAF in binder_thread_release()
Description

In the Linux kernel, the following vulnerability has been resolved: binder: fix UAF in binder_thread_release() When a thread exits, binder_thread_release() walks its transaction stack to clear the t->from and t->to_proc that correspond with the exiting thread. However, a process dying in parallel might attempt to kfree some of these transactions. And if one of them has no associated t->to_proc, the t->to_proc->inner_lock will not be acquired. This means that transaction accesses in binder_thread_release() after t->to_proc has been cleared might race with binder_free_transaction() and cause a use-after-free error as reported by KASAN: ================================================================== BUG: KASAN: slab-use-after-free in binder_thread_release+0x5d0/0x798 Write of size 8 at addr ffff000016627500 by task X/715 CPU: 17 UID: 0 PID: 715 Comm: X Not tainted 7.1.0-rc5-00149-g8fde5d1d47f6 #30 PREEMPT Hardware name: linux,dummy-virt (DT) Call trace: binder_thread_release+0x5d0/0x798 binder_ioctl+0x12c0/0x299c [...] Allocated by task 717 on cpu 18 at 67.267803s: __kasan_kmalloc+0xa0/0xbc __kmalloc_cache_noprof+0x174/0x444 binder_transaction+0x554/0x8150 binder_thread_write+0xa30/0x4354 binder_ioctl+0x20f0/0x299c [...] Freed by task 202 on cpu 18 at 90.416221s: __kasan_slab_free+0x58/0x80 kfree+0x1a0/0x4a4 binder_free_transaction+0x150/0x294 binder_send_failed_reply+0x398/0x6d8 binder_release_work+0x3e4/0x4ec binder_deferred_func+0xbd8/0x104c [...] ================================================================== In order to avoid this, make sure that binder_free_transaction() reads the t->to_proc under the transaction lock. This will serialize the transaction release with the accesses in binder_thread_release(). Plus, it matches the documented locking rules for @to_proc.

INFO

Published Date :

July 25, 2026, 10:17 a.m.

Last Modified :

July 25, 2026, 10:17 a.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-64469 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

No affected product recoded yet

Solution
Fix a race condition in binder_thread_release and binder_free_transaction by acquiring the transaction lock.
  • Acquire transaction lock in binder_free_transaction.
  • Ensure t->to_proc is read under the lock.
  • Serialize transaction release with accesses.
  • Apply the resolved kernel patch.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-64469 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-64469 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-64469 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-64469 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jul. 25, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '7a4408c6bd3eb1dafba67986259191be081e3efb', 'lessThan': '1f96f8c0a6ed4f6d01d3dd29ad0cbf08dde96082', 'versionType': 'git'}, {'status': 'affected', 'version': '7a4408c6bd3eb1dafba67986259191be081e3efb', 'lessThan': 'df1a17abba8d6fac5f965adcb8113ceace6e4949', 'versionType': 'git'}, {'status': 'affected', 'version': '7a4408c6bd3eb1dafba67986259191be081e3efb', 'lessThan': '38e1a71728e5795b670cc159c18e286a40aeebb4', 'versionType': 'git'}, {'status': 'affected', 'version': '7a4408c6bd3eb1dafba67986259191be081e3efb', 'lessThan': 'faa070c7ad8ba25dcd0b12d7cdbb419e336f5391', 'versionType': 'git'}, {'status': 'affected', 'version': '7a4408c6bd3eb1dafba67986259191be081e3efb', 'lessThan': 'e63032dc715026a96bcaa13d375a8e15c91caa84', 'versionType': 'git'}, {'status': 'affected', 'version': '7a4408c6bd3eb1dafba67986259191be081e3efb', 'lessThan': 'ea02df466df60ecd758eb3b4df3f0cadc5c886ce', 'versionType': 'git'}, {'status': 'affected', 'version': '7a4408c6bd3eb1dafba67986259191be081e3efb', 'lessThan': 'ef5439ba5b9ac93349f5df12ef88b42a0ce26340', 'versionType': 'git'}, {'status': 'affected', 'version': '7a4408c6bd3eb1dafba67986259191be081e3efb', 'lessThan': '114a116aaa5f0295376cdf12da743c5bce3b20ce', 'versionType': 'git'}], 'programFiles': ['drivers/android/binder.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.14'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.14', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.4', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc3', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/android/binder.c'], 'defaultStatus': 'affected'}]
    Added Description In the Linux kernel, the following vulnerability has been resolved: binder: fix UAF in binder_thread_release() When a thread exits, binder_thread_release() walks its transaction stack to clear the t->from and t->to_proc that correspond with the exiting thread. However, a process dying in parallel might attempt to kfree some of these transactions. And if one of them has no associated t->to_proc, the t->to_proc->inner_lock will not be acquired. This means that transaction accesses in binder_thread_release() after t->to_proc has been cleared might race with binder_free_transaction() and cause a use-after-free error as reported by KASAN: ================================================================== BUG: KASAN: slab-use-after-free in binder_thread_release+0x5d0/0x798 Write of size 8 at addr ffff000016627500 by task X/715 CPU: 17 UID: 0 PID: 715 Comm: X Not tainted 7.1.0-rc5-00149-g8fde5d1d47f6 #30 PREEMPT Hardware name: linux,dummy-virt (DT) Call trace: binder_thread_release+0x5d0/0x798 binder_ioctl+0x12c0/0x299c [...] Allocated by task 717 on cpu 18 at 67.267803s: __kasan_kmalloc+0xa0/0xbc __kmalloc_cache_noprof+0x174/0x444 binder_transaction+0x554/0x8150 binder_thread_write+0xa30/0x4354 binder_ioctl+0x20f0/0x299c [...] Freed by task 202 on cpu 18 at 90.416221s: __kasan_slab_free+0x58/0x80 kfree+0x1a0/0x4a4 binder_free_transaction+0x150/0x294 binder_send_failed_reply+0x398/0x6d8 binder_release_work+0x3e4/0x4ec binder_deferred_func+0xbd8/0x104c [...] ================================================================== In order to avoid this, make sure that binder_free_transaction() reads the t->to_proc under the transaction lock. This will serialize the transaction release with the accesses in binder_thread_release(). Plus, it matches the documented locking rules for @to_proc.
    Added Reference https://git.kernel.org/stable/c/114a116aaa5f0295376cdf12da743c5bce3b20ce
    Added Reference https://git.kernel.org/stable/c/1f96f8c0a6ed4f6d01d3dd29ad0cbf08dde96082
    Added Reference https://git.kernel.org/stable/c/38e1a71728e5795b670cc159c18e286a40aeebb4
    Added Reference https://git.kernel.org/stable/c/df1a17abba8d6fac5f965adcb8113ceace6e4949
    Added Reference https://git.kernel.org/stable/c/e63032dc715026a96bcaa13d375a8e15c91caa84
    Added Reference https://git.kernel.org/stable/c/ea02df466df60ecd758eb3b4df3f0cadc5c886ce
    Added Reference https://git.kernel.org/stable/c/ef5439ba5b9ac93349f5df12ef88b42a0ce26340
    Added Reference https://git.kernel.org/stable/c/faa070c7ad8ba25dcd0b12d7cdbb419e336f5391
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.