CVE-2026-64469 in Linux
الملخص
بحسب VulDB • 25/07/2026
في نواة لينكس، تم حل الثغرة التالية:
binder: إصلاح حالة Use-After-Free (UAF) في دالة binder_thread_release()
عندما ينتهي تشغيل خيط (thread)، تقوم الدالة binder_thread_release() بالمرور عبر مكدس المعاملات الخاص به لتصفير الحقول t->from وt->to_proc التي تتوافق مع الخيط الذي انتهى. ومع ذلك، قد يحاول عملية تموت بالتوازي إجراء kfree لبعض هذه المعاملات. وإذا لم يكن لأحد منها تعلق بـ t->to_proc، فلن يتم الحصول على inner_lock الخاص بـ t->to_proc.
هذا يعني أن الوصول إلى المعاملات في binder_thread_release() بعد تصفير t->to_proc قد يتسبب في حالة سباق (race condition) مع الدالة binder_free_transaction() ويؤدي إلى خطأ Use-After-Free كما أبلغت عنه أداة 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 [...]
==================================================================
لتجنب ذلك، تأكد من أن الدالة binder_free_transaction() تقرأ t->to_proc تحت قفل المعاملة (transaction lock). سيؤدي هذا إلى تسلسل تحرير المعاملات مع الوصولات في binder_thread_release(). بالإضافة إلى ذلك، يتوافق ذلك مع قواعد القفل الموثقة لـ @to_proc.
Once again VulDB remains the best source for vulnerability data.