دو #آسیبپذیری بحرانی در سیستم مدیریت محتوای دروپال (Drupal) کشف شده که بهروزرسانیهایی برای حل آنها منتشر شده است. یکی از این دو، آسیبپذیری تزریق شیء مربوط به کتابخانه PEAR Archive_Tar است که برخی پیکربندیهای دروپال را تحت تاثیر قرار میدهد. آسیبپذیری دوم از نوع اجرای کد راه دور است و از PHP نشات میگیرد.
آسیبپذیری تزریق شیء
دروپال از کتابخانه Archive_Tar عرضه شده توسط PEAR استفاده میکند. به تازگی یک بروزرسانی امنیتی برای یک آسیبپذیری این کتابخانه ارائه شده است که برخی پیکربندیهای دروپال را تحت تاثیر قرار میدهد. آسیبپذیری مذکور با شناسه CVE-2018-1000888، در کلاس Archive_Tar نهفته است. مهاجم میتواند یک فایل مخرب tar بسازد و مسیر آن را به شکل phar://[path_to_malicious_phar_file] به تابع Archive_Tar::extract بدهد. با این کار، unserialization اتفاق میافتد. با استفاده از تزریق شیء میتوان تابع destruct کلاس بارگذاری شده PHP را فراخوانی کرده و حذف فایل دلخواه را سبب شد.
فایل phar نوعی فایل آرشیو است که برای بستهبندی اپلیکیشنهای PHP مورد استفاده قرار میگیرد.
اجرای کد راه دور
پیادهسازی stream wrapper برای phar که بطور توکار در PHP وجود دارد، دچار یک آسیبپذیری کد راه دور است که با استفاده از لینکهای نامطمئن phar:// فعال میشود. برخی از کدهای دروپال (core، contrib و custom) ممکن است تحت تاثیر این آسیبپذیری باشند.
در بهروزرسانی دروپال، .phar به لیست پسوندهای خطرناک اضافه شده است، در نتیجه هر فایلی با این قالب در یک فیلد فایلی بارگذاری شود، به طور خودکار به فایل متنی .txt تبدیل میشود. همچنین برای PHP نسخه 5.3.3 به بالا، پیادهسازی پیشفرض PHP با یک پیادهسازی توسط دروپال جایگزین شده و در نسخههایPHP پایینتر، به طور پیشفرضphar stream wrapper غیرفعال شده است.
راه حل:
Drupal Core را به آخرین نسخه بهروزرسانی کنید: اگر از دروپال نسخه 7 با PHP 5.2 یا PHP 5.3.0-5.3.2 استفاده میکنید و نیاز دارید که phar stream wrapper را فعال کنید، بهتر است نسخه PHP را ارتقاء دهید.
- 9