خانه » آسیب پذیری روز صفر Metabase

آسیب پذیری روز صفر Metabase

نفوذ از طریق آسیب پذیری روز صفر Metabase به دیتابیس و حساب مدیریتی

یک آسیب پذیری روز صفر Metabase با شدت بحرانی در حملات واقعی مورد سوء استفاده قرار گرفته است؛ ضعفی که می تواند بدون نیاز به نام کاربری یا رمز عبور، مهاجم را تا سطح دسترسی مدیریتی در این پلتفرم پیش ببرد. Metabase از مدیران نسخه های Self-hosted خواسته است بدون تاخیر سیستم های خود را به نسخه اصلاح شده ارتقا دهند.

موضوع زمانی جدی تر می شود که بدانیم این بار فقط درباره یک آسیب پذیری آزمایشگاهی یا اثبات مفهوم صحبت نمی کنیم. Metabase تایید کرده است که مهاجمان پیش از انتشار اصلاحیه امنیتی از این ضعف استفاده کرده اند و نمونه هایی از سرقت اطلاعات در سازمان های استفاده کننده از این سرویس نیز گزارش شده است.

آسیب پذیری Metabase دقیقا چه کاری انجام می دهد؟

مشکل امنیتی جدید یک آسیب پذیری SQL Injection بدون نیاز به احراز هویت است. بر اساس Advisory رسمی منتشرشده در GitHub، مهاجم راه دور می تواند از طریق شبکه، بدون داشتن حساب کاربری و بدون تعامل قربانی، SQL دلخواه را در پایگاه داده داخلی Metabase تزریق کند. شدت این آسیب پذیری در سیستم CVSS برابر با 10 از 10 ارزیابی شده است.

دسترسی به پایگاه داده داخلی Metabase موضوع کوچکی نیست. در صورت موفقیت حمله، مهاجم می تواند به سطح مدیریتی برسد، تنظیمات برنامه را تغییر دهد، اعتبارنامه های ذخیره شده مربوط به دیتابیس های متصل را به دست آورد و اطلاعاتی را که Metabase امکان دسترسی به آنها دارد مشاهده یا استخراج کند. به همین دلیل اثر بالقوه این آسیب پذیری می تواند از خود سرور Metabase فراتر برود و منابع داده متصل به آن را نیز درگیر کند.

زنجیره حمله SQL Injection در Metabase تا دسترسی Administrator
نمای ساده مسیر سوء استفاده از آسیب پذیری Metabase تا دستیابی به دسترسی مدیریتی.

در زمان انتشار این خبر، هنوز CVE مشخصی برای این آسیب پذیری ثبت نشده و Advisory رسمی GitHub آن را با شناسه GHSA-vwf4-m7j8-wcjf دنبال می کند.

حمله فقط در حد تئوری باقی نماند

Metabase اعلام کرده است که سرویس Metabase Cloud با استفاده از همین آسیب پذیری ناشناخته مورد حمله قرار گرفته است. شرکت پس از شناسایی رخداد، Endpoint مورد استفاده در حمله را مسدود و آسیب پذیری را برطرف کرده است. کاربران Metabase Cloud در حال حاضر به نسخه اصلاح شده منتقل شده اند، اما مسئولیت به روز رسانی نسخه های Self-hosted بر عهده مدیران همان سیستم ها است.

گزارش BleepingComputer نشان می دهد پیامد این حملات در دنیای واقعی نیز دیده شده است. شرکت Framework تایید کرده اطلاعاتی مانند نام، ایمیل، شماره تلفن، IP ورود و برخی اطلاعات آدرس مشتریان از محیط Metabase آن در دسترس مهاجم قرار گرفته است. شرکت Tally نیز به کاربران خود اطلاع داده که آدرس ایمیل و Hash رمز عبور برخی کاربران در رخداد مرتبط با محیط تحلیلی Metabase در معرض دسترسی قرار گرفته است.

Framework به TechCrunch نیز تایید کرده که همه مشتریان خود را درباره این رخداد مطلع کرده است. این شرکت گفته اطلاعات پرداخت در داده های سرقت شده وجود نداشته است.

کدام نسخه های Metabase باید به روز شوند؟

Metabase می گوید نسخه های پیش از سری 58 تحت تاثیر این آسیب پذیری قرار ندارند. برای شاخه های جدیدتر، شرکت حداقل نسخه های امن را مشخص کرده و توصیه کرده است مدیران مستقیما به آخرین Point Release شاخه مورد استفاده خود ارتقا دهند.

حداقل نسخه های امن اعلام شده عبارت اند از:

  • Metabase 58: نسخه 0.58.24
  • Metabase 59: نسخه 0.59.21
  • Metabase 60: نسخه 0.60.17
  • Metabase 61: نسخه 0.61.11
  • Metabase 62: نسخه 0.62.9
  • Metabase 63: نسخه 0.63.5

این نسخه ها در اطلاعیه رسمی Metabase به عنوان حداقل نسخه های دارای اصلاحیه معرفی شده اند.

اگر امکان به روز رسانی فوری نداریم چه کنیم؟

Metabase توصیه می کند اگر به هر دلیل امکان نصب Patch در کوتاه مدت وجود ندارد، دسترسی به Endpoint زیر به صورت موقت مسدود شود:

/api/session/reset_password

این اقدام فقط یک راهکار موقت است و جایگزین نصب نسخه اصلاح شده محسوب نمی شود. پس از به روز رسانی نیز مدیران باید Sessionهای فعال را باطل کنند، API Keyها و حساب های مدیریتی را بررسی کنند، Credential دیتابیس های متصل را تغییر دهند و لاگ های Metabase و Data Warehouse را برای یافتن فعالیت غیرمجاز بررسی کنند.

مراحل ایمن سازی Metabase پس از آسیب پذیری روز صفر
پس از نصب Patch، بررسی آثار نفوذ و تغییر Credentialهای متصل نیز ضروری است.

Metabase یک الگوی قابل توجه برای تشخیص حمله نیز منتشر کرده است. مشاهده یک درخواست POST به /api/session/reset_password با کد پاسخ 400 و پس از آن یک درخواست موفق GET به /api/user/current می تواند نشانه Compromise باشد و باید جدی بررسی شود.

این حمله چه چیزی به ما یاد می دهد؟

یکی از نکات مهم این رخداد، جایگاه ابزارهای تحلیلی در معماری سازمان است. سامانه ای مانند Metabase فقط یک داشبورد زیبا نیست؛ چنین ابزارهایی معمولا به دیتابیس ها، Data Warehouseها و حجم بزرگی از اطلاعات سازمانی متصل هستند. در نتیجه تصاحب حساب Administrator در آنها می تواند برای مهاجم به یک مسیر دسترسی به منابع حساس تر تبدیل شود. این برداشت مستقیما با سطح دسترسی توصیف شده در Advisory رسمی Metabase سازگار است.

درس مهم‌تر این رخداد این است که مدیریت امنیت فقط به نصب یک به‌روزرسانی خلاصه نمی‌شود. مدیریت آسیب‌پذیری‌ها و روش‌های کاهش ریسک شامل مجموعه‌ای از اقدامات مانند شناسایی ضعف امنیتی، ارزیابی شدت و احتمال سوءاستفاده، نصب اصلاحیه، بررسی نشانه‌های نفوذ و در صورت لزوم تغییر اطلاعات دسترسی است. وقتی مشخص شده که یک آسیب‌پذیری پیش از انتشار اصلاحیه مورد سوءاستفاده قرار گرفته، باید احتمال نفوذ قبلی را نیز جدی گرفت. در چنین شرایطی بررسی نشست‌های فعال، کلیدهای دسترسی، اطلاعات اتصال به پایگاه داده و لاگ‌های امنیتی به اندازه خود به‌روزرسانی اهمیت دارد.

جمع بندی

آسیب پذیری جدید Metabase نمونه روشنی از خطری است که یک ضعف امنیتی در نرم افزارهای متصل به داده های سازمانی ایجاد می کند. شدت 10 از 10، عدم نیاز به احراز هویت و تایید بهره برداری واقعی باعث می شود این رخداد در دسته آسیب پذیری هایی قرار گیرد که مدیران سیستم نباید رسیدگی به آن را به چرخه عادی به روز رسانی موکول کنند.

اگر در سازمان شما Metabase نسخه 58 یا جدیدتر به صورت Self-hosted اجرا می شود، اولویت نخست باید بررسی نسخه و نصب آخرین Patch باشد. پس از آن نیز بررسی لاگ ها، Sessionها، API Keyها و Credential دیتابیس های متصل ضروری است تا مشخص شود آیا سیستم پیش از نصب اصلاحیه مورد دسترسی قرار گرفته است یا خیر.

نوشته‌های مرتبط

نظرات

دیدگاه خود را به اشتراک بگذارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *