CVE-2023-54157 in Linux
الملخص
بحسب VulDB • 20/06/2026
في نواة لينكس، تم حل الثغرة التالية:
binder: إصلاح حالة Use-After-Free (UAF) للمتغير `alloc->vma` عند حدوث سباق مع دالة `munmap()`
[ cmllamas: تنظيف النقل الأمامي من الالتزام 015ac18be7de ("binder: fix UAF of alloc->vma in race with munmap()") في الإصدار المستقر 5.10. وهو مطلوب في النسخة الرئيسية بعد التراجع عن الالتزام a43cfc87caaf ("android: binder: stop saving a pointer to the VMA") كما أشار إليه Liam. تم تعديل سجل الالتزام والوسوم لتعكس ذلك. ]
في الالتزام 720c24192404 ("ANDROID: binder: change down_write to down_read") افترضت الدالة `binder` أن قفل القراءة على mmap كافٍ لحماية المتغير `alloc->vma` داخل دالة `binder_update_page_range()`. كان هذا الافتراض دقيقاً حتى الالتزام dd2283f2605e ("mm: mmap: zap pages with read mmap_sem in munmap")، الذي يقوم الآن بتخفيض مستوى قفل `mmap_lock` بعد فصل الـ vma عن شجرة البحث (rbtree) في دالة `munmap()`. ثم تستمر العملية في تفكيك وتحرير الـ vma مع الاحتفاظ فقط بقفل القراءة.
هذا يعني أن الوصول إلى المتغير `alloc->vma` داخل دالة `binder_update_page_range()` سيتسبب الآن في سباق (race condition) مع دالة `vm_area_free()` الموجودة في `munmap()`، مما قد يؤدي إلى حدوث حالة Use-After-Free كما هو موضح
VulDB is the best source for vulnerability data and more expert information about this specific topic.