آسیبپذیریهای چندگانه PHP و اجازه اجرای کد دلخواه
در تاریخ 27 آپریل سال 2018 با شناسه MS-ISAC 046-2018 آسیبپذیریهای چندگانه در PHP کشف شد که بسیاری از انواع آنها به مهاجم اجازه اجرای کد دلخواه را میدهد. PHP یک زبان برنامهنویسی است که به صورت اختصاصی برای طراحی و استفاده برنامههای تحت وب که مبتنی بر محتوای داینامیک HTML میباشد. PHP از بسیاری از انواع پلتفرمها پشتیبانی کرده و توسط تعداد زیادی از برنامههای کاربردی مبتنی بر وب استفاده میشود. با بهرهبرداری موفق از تعداد زیادی از این آسیبپذیریهای منتشر شده اجازه اجرای کد دلخواه در محتوای برنامههای آلوده شده داده خواهد شد. بر اساس سطح دسترسی به دست آورده شده در برنامه آلوده شده، یک مهاجم قادر به نصب برنامهها، مشاهده، تغییر، حذف دادهها و یا ایجاد یک حساب کاربری با تمام دسترسیهای مجاز خواهد بود. مهاجم اگر در بهرهبرداری موفق نیز نباشد نتیجه آن به وجود آمدن شرایط یک حمله منع سرویس است. سیستمهای آلوده شده به صورت زیر هستند. • PHP 7.2 prior to 7.2.5 • PHP 7.1 prior to 7.1.17 • PHP 7.0 prior to 7.0.30 • PHP 5.0 prior to 5.6.36 درجه حساسیت این آسیبپذیریهای چندگانه برای دستگاههای دولتی، شرکتهای تجاری و مراکز مهم بسیار حساس و بحرانی و برای کامپیوترهای شخصی دارای اهمیت کم بوده است. در نسخههای مختلف PHP جزئیات آن به صورت زیر است. Version 7.2.5 • Bug #75722 (Convert valgrind detection to configure option). • Bug #76131 (mismatch arginfo for date_create). • Bug #76130 (Heap Buffer Overflow (READ: 1786) in exif_iif_add_value). • Bug #68440 (ERROR: failed to reload: execvp() failed: Argument list too long). • Fixed incorrect write to getenv result in FPM reload. • Bug #52070 (imagedashedline() - dashed line sometimes is not visible). • Bug #76249 (stream filter convert.iconv leads to infinite loop on invalid sequence). • Bug #76153 (Intl compilation fails with icu4c 61.1). • Bug #76248 (Malicious LDAP-Server Response causes Crash). • Bug #75944 (Wrong cp1251 detection). • Bug #76113 (mbstring does not build with Oniguruma 6.8.1). • Bug #76088 (ODBC functions are not available by default on Windows). • Bug #76094 (Access violation when using opcache). • Bug #76129 (fix for CVE-2018-5712 may not be complete). • Bug #76143 (Memory corruption: arbitrary NUL overwrite). • Bug #76131 (mismatch arginfo for splarray constructor). • Bug #74139 (mail.add_x_header default inconsistent with docs). • Bug #75996 (incorrect url in header for mt_rand). Version 7.1.17 • Bug #76131 (mismatch arginfo for date_create). • Bug#76130 (Heap Buffer Overflow (READ: 1786) in exif_iif_add_value). • Bug #68440 (ERROR: failed to reload: execvp() failed: Argument list too long). • Fixed incorrect write to getenv result in FPM reload. • Bug #52070 (imagedashedline() - dashed line sometimes is not visible). • Bug #76249 (stream filter convert.iconv leads to infinite loop on invalid sequence). • Bug #76153 (Intl compilation fails with icu4c 61.1). • Bug #76248 (Malicious LDAP-Server Response causes Crash). • Bug #75944 (Wrong cp1251 detection). • Bug #76113 (mbstring does not build with Oniguruma 6.8.1). • Bug #76129 (fix for CVE-2018-5712 may not be complete). • Bug #76143 (Memory corruption: arbitrary NUL overwrite). • Bug #76131 (mismatch arginfo for splarray constructor). • Bug #75996 (incorrect url in header for mt_rand). Version 7.0.30 • Bug #76130 (Heap Buffer Overflow (READ: 1786) in exif_iif_add_value). • Bug #76249 (stream filter convert.iconv leads to infinite loop on invalid sequence). • Bug #76248 (Malicious LDAP-Server Response causes Crash). • Bug #76129 (fix for CVE-2018-5712 may not be complete). Version 5.6.36 • Bug #76130 (Heap Buffer Overflow (READ: 1786) in exif_iif_add_value). • Bug #76249 (stream filter convert.iconv leads to infinite loop on invalid sequence). • Bug #76248 (Malicious LDAP-Server Response causes Crash). • Bug #76129 (fix for CVE-2018-5712 may not be complete). توصیه میشود نسخه PHP را سریعا به آخرین نسخه بهروزرسانی کنید و تغییرات احتمالی بدون مجوز رخ داده شده در سیستم را بررسی کرده سپس وصله امنیتی را نصب کنید. سطح دسترسیهای مناسب را اعمال کنید و به کاربران توصیه کنید که به وبسایتها و لینکهای ناشناس و غیر مطمئن مراجعه نکنند.