تجزیه و تحلیل محققان خبر از وجود یک #آسیبپذیری اسکریپتنویسی متقابل ذخیرهشده (Stored Cross-Site Scripting) در WordPress میدهد که میتواند منجر به اجرای کد راهدور drive-by شود.
حملهی drive-by زمانی رخ میدهد که دشمن از طریق ملاقات کاربر از مرورگر وب طی یک جستجوی نرمال، به سیستم دسترسی یابد.
این آسیبپذیری که با شناسهی CVE-2019-16219 ردیابی میشود، در ویرایشگر داخلی Gutenburg که در نسخههای WordPress 5.0 و بالاتر وجود دارد، یافت شده است. به گفتهی Zhouyuan Yang در آزمایشگاه Forti Gaurd، در صورت وجود یک پیغام خطای “Shortcode”، Gutenburg نمیتواند کد JavaScript/HTML یک پست را فیلتر کند.
Shortcodeها میانبرهای ضروری هستند که کاربران WordPress میتوانند بهمنظور تعبیهکردن فایلها یا ساخت اشیایی که به صورت نرمال نیاز به کد پیچیدهتری برای انجام دادن دارند، به کار گیرند. بلوکهای Shortcode میتوانند با کلیک بر روی گزینهی “Add Block button” درون ویرایشگر Gutenburg، به یک صفحه اضافه شوند.
با این حال، با اضافهکردن برخی کاراکترهای رمزگذاریشدهی HTML (مانند ‘<’) به خود بلوک Shortcode و سپس بازکردن دوبارهی پست، کاربران یک پیغام خطایی دریافت خواهند کرد.
Wordpress پست را با رمزگشایی ‘<’ به ‘<”,”’ به نمایش میگذارد. فیلتر XSS در این پیشنمایش میتواند بهراحتی با اضافهکردن کد اثبات مفهوم ‘>img src=1 onerror-prompt(1)>.’ به پست، دور زده شود. از آن پس، هر بازدیدکنندهی سایت که این پست را مشاهده میکند، کد XSS در مرورگرش اجرا خواهد شد.
این امر به یک مهاجم راهدور با مجوز «مشارکتکننده» (contributor) یا بالاتر اجازه میدهد کد دلخواه JavaScript/HTML را در مرورگر قربانیانی که به صفحه وب آسیبپذیر دسترسی دارند، اجرا کند. تا زمانی که مهاجم دارای نقش مشارکتکننده در یک صفحه وب WordPress آسیبپذیر است، میتواند از این نقص سوءاستفاده کند. مهاجمان همچنین میتوانند خودشان وبسایتی بسازند یا ابتدا یک وبسایت قانونی را جهت تزریق کد در معرض خطر قرار دهند. از آن پس تنها لازم است قربانیان فریبخورده، صفحهی در معرض خطر را بهمنظور اجرای کد مخرب ملاقات کنند.
آسیبپذیری اسکریپتنویسی متقابل ذخیرهشده (XSS ذخیرهشده)، شدیدترین نوع XSS است. XSS ذخیرهشده زمانی اتفاق میافتد که یک برنامهی کاربردی تحت وب دادههای ورودی را از یک کاربر جمعآوری کند و آن دادهها را برای استفادهی بعدی ذخیره سازد. اگر این دادهها بهدرستی فیلتر نشوند، دادههای مخرب بخشی از وبسایت را تشکیل خواهند داد و درون مرورگر کاربر، تحت امتیازات برنامهی کاربردی تحت وب، اجرا میشوند.
آسیب دیگری که این نقص دارد این است که اگر قربانی دارای مجوز بالا باشد، مهاجم حتی میتواند کارگزار وب آنها را در معرض خطر قرار دهد.
این نقص از نظر شدت، «متوسط» رتبه بندی شده است و دارای رتبهی 6.1 در مقیاس 10 است.
این آسیبپذیری در نسخههای WordPress 5.0 تا 5.0.4، 5.1 و 5.1.1 یافت شده است و در ماه سپتامبر سال 2019، با انتشار نسخهی WordPress 5.2.3، وصله شده است.
این نقص XSS، تنها نقص XSS وصلهشده در بستر WordPress نیست؛ این بهروزرسانی آسیبپذیریهای XSS یافتشده در پیشنمایشهای پست توسط مشارکتکنندگان، در نظرات ذخیرهشده، در حین بارگزاری رسانهها، در داشبود و در حین پاکسازی URL را نیز برطرف ساخته است.
نقصهای XSS در WordPress و افرونههای مختلف، به آسیبزدن به این معروفترین سیستم مدیریت محتوا در جهان که 60.4 درصد از سهم بازار CMS را به خود اختصاص دادهاست، ادامه میدهند. حدود یک سوم تمامی وبسایتهای اینترنتی بااستفاده از WordPress ساخته شدهاند.
به مدیران وبسایتها توصیه میشود بهروزرسانی منتشرشده جهت رفع این آسیبپذیری را در اسرع وقت بهکار گیرند.