مستخدم SQL في MariaDB لتنفيذ أوامر نظام التشغيل عبر أخطاء ذاكرة متسلسلة

يوضح التقرير كيف يمكن لمستخدم قاعدة بيانات عادي سلسلة ثغرتين في سلامة الذاكرة في MariaDB لتنفيذ أوامر نظام التشغيل باسم عملية mariadbd عبر جلسة SQL واحدة عبر TCP.
الثغرة الأولى في SYS_REFCURSOR تُنشئ حالة use-after-free أثناء FETCH، مما يتيح التحكم في استدعاء افتراضي. الثانية، في ST_Area، توفر قراءة خارج الحدود عبر MULTIPOLYGON مُصمم، مما يسرب عناوين قاعدة heap وmariadbd رغم ASLR وPIE.
تُعدل السلسلة Security_context::master_access للجلسة لمنح FILE، مما يتيح تنفيذ أوامر قائمة على UDF. إذا لم يكن دليل الإضافات قابلاً للكتابة، تصل سلسلة استدعاء بديلة إلى execlp("/bin/sh", ...). نجح PoC ضد mariadb:13.0.1-rc مع تمكين ASLR وPIE وFull RELRO في حوالي نصف المحاولات.
المورّدون
المنتجات
المزيد