مقدمه

آسیب پذیری PHP Object Injection در افزونه Quiz and Survey Master، که بیش از ۴۰ هزار نصب فعال دارد، شناسایی و وصله شده است. این آسیب پذیری به مهاجمان اجازه می دهد تا اشیاء PHP مخرب را تزریق کرده و از راه دور کد دلخواه را روی وب سایت های آسیب پذیر اجرا کنند. در این مقاله، به بررسی جزئیات این آسیب پذیری، طرز کار آن ، و راهکارهای مقابله با آن می پردازیم.

افزونه Quiz and Survey Master یکی از محبوب ترین افزونه های وردپرس برای ایجاد آزمون ها و نظرسنجی های آنلاین است. به دلیل گستردگی استفاده از این افزونه ، وصله این آسیب پذیری از اهمیت بالایی برخوردار است.

PHP Object Injection چیست؟

PHP Object Injection یک آسیب پذیری امنیتی است که به مهاجمان اجازه می دهد تا اشیاء PHP مخرب را به یک برنامه تزریق کنند. هنگامی که برنامه این اشیاء را از حالت سریال خارج می کند (unserialize)، کد مخرب موجود در آن ها اجرا می شود. این می تواند منجر به اجرای کد از راه دور، دسترسی غیرمجاز به داده ها ، یا سایر حملات شود.

این نوع آسیب پذیری معمولاً در برنامه هایی رخ می دهد که داده های ورودی کاربر را بدون اعتبارسنجی مناسب ، از حالت سریال خارج می کنند. مهاجم می تواند با دستکاری داده های ورودی، اشیاء مخرب را به برنامه تزریق کند.

طرز کار آسیب پذیری در Quiz and Survey Master

آسیب پذیری PHP Object Injection در افزونه Quiz and Survey Master در تابع qsm_questions_answers_shortcode_to_text هست. این تابع داده های ورودی کاربر را از طریق متغیر $_POST['quiz_answer_random_ids'] دریافت می کند و آن را به تابع qmn_sanitize_random_ids_data ارسال می کند.

تابع qmn_sanitize_random_ids_data بررسی می کند که آیا داده های ورودی سریال شده اند یا نه. اگر داده ها سریال شده باشند، تابع maybe_unserialize برای از حالت سریال خارج کردن آن ها استفاده می شود. این فرآیند بدون بررسی کلاس های مجاز ، امکان تزریق اشیاء PHP مخرب را فراهم می کند.

این آسیب پذیری از طریق هوک wp_ajax_nopriv_qmn_process_quiz قابل بهره برداری است که امکان پردازش پاسخ های آزمون را فراهم می کند.

وصله امنیتی

توسعه دهندگان افزونه Quiz and Survey Master در نسخه ۱۰.۲.۶ این آسیب پذیری را وصله کرده اند. آن ها تابع جدیدی به نام qsm_safe_unserialize ساخته اند که از تابع unserialize با آرگومان ['allowed_classes' => false] استفاده می کند. این آرگومان از فراخوانی اشیاء دلخواه جلوگیری می کند و امنیت را بهبود می بخشد.

با به روزرسانی افزونه به نسخه ۱۰.۲.۶ ، وب سایت شما در برابر این آسیب پذیری محافظت می شود.

توصیه های امنیتی

برای جلوگیری از آسیب پذیری های مشابه در آینده، رعایت نکات زیر لازمه:

با رعایت این نکات ، می توانید امنیت وب سایت خود را به میزان زیادی بیشتر کنید و از حملات مخرب جلوگیری کنید.

تجربه کاربران و نمونه های واقعی

خیلی از کاربران افزونه Quiz and Survey Master بعد از اطلاع از این آسیب پذیری، افزونه خود را به آخرین نسخه به روزرسانی کرده اند. بعضی از کاربران نیز از فایروال های وب اپلیکیشن (WAF) برای محافظت از وب سایت خود استفاده کرده اند.

متاسفانه ، بعضی از وب سایت ها قبل از انتشار وصله امنیتی مورد حمله قرار گرفته اند. این نشان می دهد که به روزرسانی های امنیتی باید در اسرع وقت اعمال شوند.

چالش ها و الزامات اجرایی

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

همچنین، اجرای بعضی از راهکارهای امنیتی مانند استفاده از فایروال وب اپلیکیشن (WAF) نیازمند دانش فنی و تخصص است.

نتیجه گیری

آسیب پذیری PHP Object Injection در افزونه Quiz and Survey Master یک تهدید جدی برای وب سایت های آسیب پذیر بود. با انتشار وصله امنیتی، این آسیب پذیری برطرف شده است. با این حال، رعایت نکات امنیتی و به روزرسانی منظم افزونه ها و قالب ها همچنان ضروری است.

برای اطلاعات بیشتر در مورد یافتن و رفع آسیب پذیری ها، می توانید به آکادمی Patchstack بروید.

Timeline

۳۱ جولای ۲۰۲۵: دریافت گزارش آسیب پذیری و اطلاع رسانی به فروشنده.
۱۵ آگوست ۲۰۲۵: انتشار نسخه وصله شده توسط فروشنده در مخزن WP.
۰۳ سپتامبر ۲۰۲۵: انتشار ورودی آسیب پذیری در پایگاه داده.
۰۹ اکتبر ۲۰۲۵: انتشار عمومی مقاله مشاوره امنیتی.

شما می توانید به ما کمک کنید تا اینترنت را به مکانی امن تر تبدیل کنیم. اگر توسعه دهنده افزونه هستید، فرآیند افشای خود را ساده کنید تا آسیب پذیری ها را سریع تر برطرف کنید و با CRA مطابقت داشته باشید. اگر شرکت میزبانی هستید، از کاربران خود نیز محافظت کنید! سلامت سرور را بهبود بخشید و با امنیت فعال، درآمد بیشتری کسب کنید. اگر محقق امنیتی هستید ، آسیب پذیری ها را به برنامه پاداش باگ ما گزارش دهید تا جوایز نقدی ماهانه کسب کنید.