آسیب پذیری Magellan 2.0 در گوگل کروم

یک مجموعه آسیب پذیری جدید در SQLite به مهاجمان امکان میدهد که از راه دور در گوگل کروم، محبوبترین مرورگر جهان کدهای مخربی را اجرا کنند. این آسیب پذیریها که مجموعاً 5 مورد هستند، Magellan 2.0 نام گرفتهاند و تیم امنیتی Tencent Blade آنها را افشا کرده است.
تمام برنامههای کاربردی که از پایگاههای داده SQLite استفاده میکنند در برابر این بدافزار آسیب پذیر هستند، هر چند خطر سوءاستفاده از راه دور در این پایگاه داده نسبت به کروم کمتر است. یکی از امکانات گوگل کروم به نام WebSQL API در حالت پیشفرض، کاربران را در معرض حملات راه دور قرار میدهد.
توضیحاتی درباره آسیب پذیریهای Magellan
افشای آسیب پذیری Magellan 2.0 یک سال پس از آن صورت میگیرد که تیم امنیتی Tencent Blade در دسامبر 2018 آسیب پذیریهای Magellan در SQLite را افشا کرد. این آسیب پذیری جدید هم مثل مورد قبلی، به دلیل بررسی نامناسب ورودی فرمانهای SQL که پایگاه داده SQLite از یک شخص دیگر دریافت میکند، ایجاد شده است.
پنج آسیب پذیری Magellan 2.0 با شناسههای CVE-2019-13734، CVE-2019-13750، CVE-2019-13751، CVE-2019-13752 و CVE-2019-13753 شناخته میشوند. سه آسیب پذیری اصلی هم شناسههای CVE-2018-20346، CVE-2018-20505 و CVE-2018-20506 دارند.
این آسیب پذیریها موجب میشوند مهاجم بتواند یک عملیات SQL طراحی کند که حاوی کدهای مخرب باشد. وقتی موتور پایگاه داده SQLite این عملیات را دریافت میکند آنها را از طرف مهاجم اجرا خواهد کرد.
تیم Tencent Blade در توصیههای امنیتیاش گفته است که آسیب پذیریهای Magellan 2.0 میتوانند منجر به اجرای کد از راه دور، نشت اطلاعات حافظه برنامه و کرش کردن سیستم شوند.
چه برنامههای کاربردی تحت تأثیر این آسیب پذیری هستند؟
تمامی برنامههای کاربردی که از پایگاه داده SQLite برای ذخیره دادهها استفاده میکنند، آسیب پذیر هستند. لازم به ذکر است در حالت پیشفرض، امکان استفاده از روش «حمله راه دور از طریق اینترنت» وجود ندارد و برای استفاده از آن، برنامه کاربردی باید اجازه ورود مستقیم فرمانهای خام SQL را داده باشد که کمتر برنامه کاربردی چنین امکانی را فراهم میکند.
خطر حملات راه دور برای آن دسته از کاربران گوگل کروم که برای ذخیره دادهها و تنظیمات مرورگر از پایگاه داده SQLite استفاده میکنند، وجود دارد زیرا کروم با WebSQL عرضه میشود؛ یک API که کدهای جاوا اسکریپت را تبدیل به فرمانهای SQL کرده و سپس این فرمانها بر روی پایگاه داده SQLite کروم اجرا میشوند. در حالت پیشفرض، WebSQL در مرورگرهای کروم و اپرا فعال است.
وب سایتهای مخرب و آلوده هم میتوانند از آسیب پذیریهای Magellan 2.0 برای اجرای کدهای مخرب روی مرورگر کروم کاربران استفاده کنند. با این وجود، به گفته تیم Tencent جای نگرانی وجود ندارد چون این تیم قبلاً وجود این آسیب پذیریها را به تیمهای گوگل و SQLite اطلاع داده است: «نیازی به نگرانی نیست؛ گوگل و SQLite این باگ را تأیید و رفع کردند و ما در حال همکاری با سایر شرکتها برای رفع این مشکل هستیم. تا این لحظه هیچگونه شواهدی که نشاندهنده سوءاستفاده گسترده از Magellan 2.0 باشد مشاهده نشده است».
به گفته Tencent پنج آسیب پذیری Magellan 2.0 در نسخه 79.0.3945.79 از کروم که دو هفته پیش منتشر شد، رفع شده است. همچنین تیم SQLite هم این باگها را در سری وصلههای منتشر شده در سیزدهم دسامبر 2019 برطرف کرده است.
این شرکت چینی اعلام کرده است که در ماههای آینده، جزییات بیشتری درباره این دو باگ منتشر خواهد کرد و اطلاعاتی که به تازگی منتشر شدهاند تنها خلاصهای از یافتههای این تیم بوده تا توسعه دهندگان برنامه کاربردی را تشویق به بهروزرسانی نسخه-ای از SQLite که همراه برنامههای کاربردیشان عرضه میشود، بکند.
با این حال ممکن است بعضی از افراد با تصمیم این شرکت چینی موافق نباشند. سال گذشته وقتی Tencent Blade اطلاعاتی درباره آسیب پذیری Magellan منتشر کرد، با انتقادهای تندی از سوی D. Richard Hipp سازنده SQLite مواجه شد. وی در آن زمان گفت که این شرکت چینی بیش از حد درباره تأثیر آسیب پذیری گفته شده بزرگنمایی کرده است زیرا در بیشتر برنامههای کاربردی که از SQLite استفاده میکنند، امکان اجرای کد از راه دور به کمک این آسیب پذیری وجود ندارد.
Richard Hipp میگوید: «گزارشهایی که درباره آسیب پذیری اجرای کد از راه دور در SQLite منتشر شدهاند، به میزان زیادی بزرگنمایی هستند. برخی از هکرهای کلاه خاکستری راهی برای اجرای چنین کدهایی با استفاده از دستورات SQL پیدا کردهاند. اگر به هر کاربر اینترنتی اجازه اجرای کد SQL روی سیستم خودتان را داده باشید باید سیستم را ارتقا دهید، در غیر این صورت خطری شما را تهدید نمیکند».
ظاهراً حق با Hipp بوده و آن چه در سال 2018 میلادی درباره این آسیب پذیری گفته شده است، حالا برای Magellan 2.0 هم صدق میکند. بیشتر برنامههای کاربردی که از پایگاه داده SQLite استفاده میکنند، تحت تأثیر حملات راه دور Magellan 2.0 قرار نگرفتهاند. با این حال به دلیل وجود WebSQL در کروم، امکان اجرای کد از راه دور در این مرورگر وجود دارد.