hit tracker
Saturday, 12 November 2016 10:45

آسیب پذیری MySQL

 

ر طول یک ماه گذشته از وجود دو آسیب‌پذیری در دومین پایگاه داده‌ی محبوب، MySQL خبرهایی را شنیدیم. این دو آسیب‌پذیری عبارتند از:


اجرای کد از راه دور با دسترسی root در MySQL با شناسه‌ی CVE-2016-6662
ارتقاء سطح دسترسی(Privilege Escalation ) با شناسه‌ی CVE-2016-6663

آن زمان یک پژوهشگر لهستانی و نفوذگر قانونی در حوزه امنیت اطلاعات به نام Dawid Golunski، جزئیات فنی و proof-of-concept (یا POC) آسیب‌پذیری اول را منتشر کرد و قول داد به زودی جزئیات فنی آسیب‌پذیری دوم را نیز ارائه کند.

روز سه‌شنبه گذشته وی POC برای بهره‌برداری از دو آسیب‌پذیری را منتشر کرد. یکی از این آسیب‌پذیری‌ها همان ارتقای سطح دسترسی (CVE-2016-6663) بود که قبلاً قول داده بود جزئیات آن را منتشر کند و دیگری یک آسیب‌پذیری جدید از نوع ارتقای سطح دسترسی به root با شناسه‌ی CVE-2016-6664 بود. با بهره‌برداری از این آسیب‌پذیری جدید، مهاجم می‌تواند بر روی پایگاه داده کنترل کامل داشته باشد.

نسخه‌های MySQL  که تحت تأثیر این دو آسیب‌پذیری قرار می‌گیرند عبارتند از: نسخه‌ی 5.5.51 و قبل‌تر، نسخه‌ی 5.6.32 و قبل‌تر، نسخه‌ی 5.7.14 و قبل‌تر و نرم‌افزارهای برگرفته از MySQL مانند Percona Server و MariaDB.

آسیب‌پذیری ارتقای سطح دسترسی/شرایط رقابتی (CVE-2016-6663)

شدیدترین آسیب‌پذیری مربوط به شرایط رقابتی(race condition) است که به یک حساب کاربری سطح پایین با مجوزهایی همچون ایجاد/درج/انتخاب در پایگاه داده، اجازه می‌دهد به پایگاه داده دسترسی یافته و سطح دسترسی خود را ارتقا داده و مانند یک «کاربر سامانه‌ پایگاه داده» کدهای دلخواه را اجرا کند.
همان‌طور که توضیح داده شد یک مهاجم می‌تواند با موفقیت بر روی کارگزار پایگاه داده که دارای این آسیب‌پذیری است، کنترل کامل داشته باشد.

آسیب‌پذیری ارتقای سطح دسترسی به root (CVE-2016-6664)

یکی دیگر از آسیب‌پذیری‌های موجود در این نرم‌افزار مدیریت پایگاه داده، ارتقای سطح دسترسی به root است که به یک مهاجم با امتیاز « MySQL system user » اجازه می‌دهد تا به امتیازاتی در سطح root ارتقا یابد و به‌طور کامل پایگاه داده را در معرض خطر قرار دهد.

به‌ نظر می‌رسد مشکل ناشی از دستکاری پرونده‌های ثبت خطا و سایر پروند‌ه‌ها است که اجازه‌ی این کار با امتیازاتی که MySQL در اختیار کاربر گذاشته، داده می‌شود. کاربر با این دستکاری می‌تواند پرونده‌های مربوطه را با هر پرونده‌ی سامانه‌ای جابجا کرده و دری به سوی امتیازات کاربر root به روی خود بگشاید.

موضوع دردسرساز چیست؟ اینکه یک مهاجم با سطح دسترسی پایین می‌تواند ابتدا از آسیب‌پذیری ارتقای سطح دسترسی (CVE-2016-6663) بهره‌برداری کرده و به یک «کاربر سامانه پایگاه داده» تبدیل شود. در ادامه نیز می‌تواند از آسیب‌پذیری ارتقاء امتیاز به ریشه (CVE-2016-6664) بهره‌برداری کرده و پایگاه داده را به کل در معرض خطر قرار دهد.

تمامی این آسیب‌پذیری‌ها در محیط‌های میزبانی اشتراکی که هر کاربری به یک پایگاه داده‌ی مجزا دسترسی دارد، قابل بهره‌برداری هستند. با بهره‌برداری از این آسیب‌پذیری‌ها، مهاجم می‌تواند به تمامی پایگاه‌داده‌ها دسترسی داشته باشد.

البته MySQLتمامی این آسیب‌پذیری‌ها را وصله کرده است. به مدیران سامانه اکیداً توصیه شده هرچه سریع‌تر این وصله‌ها را اعمال کنند تا مهاجمان نتوانند از این آسیب‌پذیری‌ها بهره‌برداری کنند.

اگر به هر دلیلی نمی‌توانید فوری این وصله‌ها را اعمال کنید، به عنوان یک راه‌حل پیشنهادی توصیه می‌کنیم تا در کارگزار پایگاه داده‌ی خود، قابلیت پشتیبانی از پیوند نمادین را غیر فعال کنید:
my.cnf to symbolic-links =