Executive brief
A vulnerability was discovered in the Android Binder component of the Linux kernel, which manages communication between different processes. A race condition occurs when a thread exits while another process is simultaneously cleaning up data, potentially allowing an attacker to crash the system or execute unauthorized code. This issue primarily affects Android-based systems or Linux distributions using the Binder driver.
Technical details
A use-after-free (UAF) vulnerability exists in the binder_thread_release() function of the Android Binder driver (drivers/android/binder.c). The root cause is a race condition where binder_thread_release() attempts to access a transaction object that is being concurrently freed by binder_free_transaction() during process termination. Specifically, if a transaction has no associated 'to_proc', the 'inner_lock' is not acquired, allowing binder_free_transaction() to kfree the transaction while binder_thread_release() is still walking the transaction stack. An attacker with local access could exploit this race to achieve arbitrary memory writes or a kernel panic. The fix involves ensuring that binder_free_transaction() reads the 'to_proc' pointer under the transaction spinlock to serialize access.
Affected products
- Linux Linux Kernel 7.1-rc5
Timeline
- 2026-06-19: disclosed: Initial patch submitted by Google engineers
- 2026-07-03: patched: Patch committed to stable kernel tree
- 2026-07-25: advisory: CVE-2026-64469 published
References
- https://git.kernel.org/stable/c/114a116aaa5f0295376cdf12da743c5bce3b20ce
- https://git.kernel.org/stable/c/1f96f8c0a6ed4f6d01d3dd29ad0cbf08dde96082
- https://git.kernel.org/stable/c/38e1a71728e5795b670cc159c18e286a40aeebb4
- https://git.kernel.org/stable/c/df1a17abba8d6fac5f965adcb8113ceace6e4949
- https://git.kernel.org/stable/c/e63032dc715026a96bcaa13d375a8e15c91caa84
- https://git.kernel.org/stable/c/ea02df466df60ecd758eb3b4df3f0cadc5c886ce
- https://git.kernel.org/stable/c/ef5439ba5b9ac93349f5df12ef88b42a0ce26340