نفوذ به Metabase با یک باگ روز-صفر
خلاصهٔ کاملتر
متابیس (Metabase)، یکی از ابزارهای محبوب داشبورد و بیزینس اینتلیجنس، پنجشنبه اعلام کرد که یه آسیبپذیری ناشناخته توی نسخههای ۱.۵۸ به بالا، قبل از انتشار وصله، توی حملههای واقعی استفاده شده. به گفتهٔ سمیر السکران مدیرعامل شرکت، مهاجم از همین باگ برای نفوذ به سرویس ابری Metabase Cloud استفاده کرده و نصبهای self-hosted هم دقیقاً همین مشکل رو دارن.
خود باگ یه SQL Injection بدون نیاز به احراز هویته: مهاجم از راه دور و بدون داشتن هیچ حسابی میتونه کوئری دلخواه رو به دیتابیس اپلیکیشن متابیس تزریق کنه و در نهایت دسترسی ادمین بگیره. شرکت هنوز براش شناسهٔ CVE نگرفته، ولی توی advisory گیتهاب درجهٔ Critical با امتیاز CVSS ۱۰.۰ خورده — یعنی بالاترین حد ممکن — و بهرهبرداری فعال ازش هم تأیید شده.
با اون سطح دسترسی، مهاجم میتونه تنظیمات برنامه رو عوض کنه، کردنشیال دیتابیسهای متصل رو بدزده و هر دادهای که از طریق اون اتصالها در دسترسه رو بخونه و خروجی بگیره. یعنی خطر واقعی فقط خود متابیس نیست؛ هر دیتابیسی که بهش وصل شده هم در معرضه.
دو شرکت تا الان قربانی بودنشون رو تأیید کردن. Framework، سازندهٔ لپتاپهای ماژولار، گفته نام کامل، ایمیل، IP ورود، آدرس صورتحساب و ارسال، شمارهٔ تلفن و نام شرکت مشتریهاش لو رفته و نمونهٔ متابیسش روز ۳ آگوست باز شده. Tally، سرویس فرمساز آنلاین، هم اعلام کرده ایمیل و هش رمز کاربرهاش در دسترس مهاجم قرار گرفته، ولی فرمها و پاسخها جای دیگهای ذخیره میشن و دست نخوردن.
مشتریهای Metabase Cloud خودکار آپدیت شدن، ولی نصبهای self-hosted باید دستی برن روی نسخههای امن: ۰.۵۸.۲۴، ۰.۵۹.۲۱، ۰.۶۰.۱۷، ۰.۶۱.۱۱، ۰.۶۲.۹ و ۰.۶۳.۵. اگه فعلاً امکان آپدیت نیست، شرکت پیشنهاد میکنه دسترسی به اندپوینت /api/session/reset_password موقتاً بسته بشه. برای تشخیص نفوذ هم میشه دنبال یه درخواست POST به همون اندپوینت با پاسخ ۴۰۰ و بعدش یه GET موفق به /api/user/current توی لاگها گشت.
نکات کلیدی:
- آسیبپذیری SQL Injection بدون احراز هویت توی Metabase نسخهٔ ۱.۵۸ به بالا، با CVSS ۱۰.۰ و بهرهبرداری فعال
- مهاجم دسترسی ادمین میگیره و میتونه کردنشیال دیتابیسهای متصل رو بدزده
- Framework و Tally لو رفتن اطلاعات مشتریهاشون رو تأیید کردن
- نسخههای امن: ۰.۵۸.۲۴، ۰.۵۹.۲۱، ۰.۶۰.۱۷، ۰.۶۱.۱۱، ۰.۶۲.۹ و ۰.۶۳.۵
- راهکار موقت: بستن اندپوینت /api/session/reset_password تا زمان آپدیت
- بعد از آپدیت، سشنها رو باطل کنین، API keyها و اکانتهای ادمین رو چک کنین و رمز دیتابیسها رو عوض کنین




