700000 وب‌سایت در معرض خطر ناشی از وجود آسیب‌پذیری در افزونه‌ی GDPR Cookie Consent وردپرس

700000 وب‌سایت در معرض خطر ناشی از وجود آسیب‌پذیری در افزونه‌ی GDPR Cookie Consent وردپرس

تاریخ ایجاد

افزونه‌ی دیگری از #WordPress به لیست افزونه‌هایی که دارای نقص‌های امنیتی تهدیدآمیز هستند، پیوسته است. این بار، این آسیب‌پذیری در افزونه‌ی GDPR Cookie Consent ظاهر شده است و یکپارچگی 700000 وب سایت را به خطر انداخته است.
طبق گزارشات، محققی به نام Jerome Bruandet، یک آسیب‌پذیری جدی در افزونه‌ی GDPR Cookie Consent کشف کرده است. GDPR Cookie Consent به کاربران در ساخت سایت مطابق با GDPR کمک می‌کند. با در نظر گرفتن 700000 نصب از این افزونه، این نقص می‌تواند هزاران وب‌سایت را در معرض خطر قرار دهد.
این آسیب‌پذیری، یک نقص بحرانی تزریق اسکریپت مخرب در افزونه‌ی GDPR Cookie Consent است که ناشی از کنترل نامناسب دسترسی در نقطه‌پایانی (endpoint) استفاده‌شده در افزونه‌ی AJAX API (یک روش توسعه‌ی وب برای ساخت برنامه‌های کاربردی تحت وب) وردپرس است. نقطه‌پایانی، یک روش “-construct” درون افزونه است که برای کد مقداردهی اولیه‌ی اشیایی که به تازگی ایجاد شده‌اند، مورد استفاده قرار می‌گیرد. پس از آنکه فعالیت‌ها ایجاد شدند، از طریق AJAX به روش “-construct” ارسال می‌شود. این فرایند در پیاده‌سازی بررسی‌ها شکست می‌خورد. به همین دلیل، نقطه‌پایانی AJAX که به گونه‌ای در نظر گرفته شده است که تنها برای مدیران قابل دسترسی باشد، به کاربران سطح مشترک (یک نقش کاربر در وردپرس با قابلیت‌های بسیار محدود) نیز اجازه دهد تعدادی فعالیت که امنیت سایت را به مخاطره می‌اندازد، انجام دهند. روش “-construct”، سه مقدار متفاوت از AJAX API را می‌پذیرد. دو مقدار از آن‌ها، autosave_contant_data و save_contentdata هستند که می‌توانند توسط مهاجم از طریق این آسیب‌پذیری مورد سوءاستفاده قرار گیرند. روش save_contentdata به مدیران اجازه می‌دهد اعلان‌های کوکی را به عنوان یک نوع پست صفحه در پایگاه داده ذخیره سازد. اما از آنجاییکه این روش مورد بررسی قرار نگرفته است، یک کاربر یا مشترک احرازهویت‌شده می‌تواند هر صفحه یا پست موجود (یا کل وب‌سایت) را تغییر دهد و با تغییر وضعیت آن‌ها از «منتشرشده» به «پیش‌نویس»، آن‌ها را آفلاین کند. روش دیگر ، autosave_contant_data ، برای ذخیره‌ی صفحه‌ی اطلاعات کوکی GDPR در پس زمینه، در حالی که مدیر در حال ویرایش آن است، با ذخیره کردن داده‌ها در فیلد cli_pg_content_data پایگاه‌داده، بدون اعتبارسنجی استفاده می‌شود. عدم بررسی در این روش به کاربر معتبر احرازهویت‌شده اجازه می‌دهد کد جاوااسکریپت را به صفحه وب تزریق نماید. سپس این کد هر بار که شخصی به صفحه «http://example.com/cli-policy-preview/» مراجعه می‌کند، بارگیری و اجرا می‌شود.
این نقص از نظر شدت، بحرانی رتبه‌بندی شده است و دارای امتیاز CVSS 9.0 از 10 است.
تیم تحقیقاتی WordFence نیز وجود این نقص را پس از آنکه تیم توسعه‌ی این افزونه، آن را برطرف ساخت، تأیید کرده است.
Bruandet در تاریخ 28 ژانویه سال 2020، توسعه‌دهندگان این افزونه را از وجود آسیب‌‌پذیری در آن مطلع ساخت. نسخه‌های 1.8.2 و پیش از آن افزونه‌ی GDPR Cookie Consent، تحت‌تأثیر این آسیب‌پذیری قرار گرفته‌اند. توسعه‌دهندگان این افزونه، با انتشار نسخه‌ی 1.8.3، یک هفته پس از افشای این نقص، آن را وصله کرده‌اند. کاربران باید با به‌روزرسانی این افزونه به آخرین نسخه، مانع از سوءاستفاده‌های بالقوه شوند.