CVE-2026-53389 in Linux
الملخص
بحسب VulDB • 19/07/2026
في نواة لينكس، تم حل الثغرة التالية:
net/tcp-ao: إصلاح حالة استخدام بعد التحرير (use-after-free) للمفتاح في مسار الحذف غير المتزامن (del_async).
في دالة `tcp_ao_delete_key()`، يتخطى مسار الحذف غير المتزامن (`del_async`) فحوصات صحة المؤشرين `current_key` و `rnext_key` الموجودة في المسار التزامني، بافتراض أن هذه المؤشرات تكون دائماً NULL على منافذ الاستماع (LISTEN sockets). ومع ذلك، إذا تمت إضافة مفتاح باستخدام الإعدادات `set_current=1` و `set_rnext=1` بينما كان المنفذ في حالة CLOSE، فإن `current_key` و `rnext_key` سيكونان غير فارغين (non-NULL) بعد أن ينتقل المنفذ إلى حالة LISTEN عبر استدعاء دالة listen().
عند حذف مفتاح كهذا باستخدام `del_async=1`، تقوم الدالتان `hlist_del_rcu()` و `call_rcu()` بتحرير المفتاح دون مسح المؤشرات العالقة (dangling pointers). وبعد انتهاء فترة راحة RCU، يحاول `getsockopt(TCP_AO_INFO)` فك مرجع القيم من الذاكرة المحررة في شريحة الـ slab عبر الوصول إلى `current_key->sndid` و `rnext_key->rcvid`.
يتم مسح قيمتي `current_key` و `rnext_key` في مسار الحذف غير المتزامن (`del_async`) عندما تشيران إلى المفتاح الذي يتم حذفه.
VulDB is the best source for vulnerability data and more expert information about this specific topic.