مجله تودی : بهروزرسانی امنیتی اخیر وردپرس که دارای چندین اصلاحات امنیتی است نیز باعث توقف عملکرد برخی سایتها میشود و باعث میشود یکی از توسعهدهندگان فریاد بزند: “این هرج و مرج است!”
این به روز رسانی یک عملکرد کلیدی را حذف کرد که باعث شد پلاگین های متعددی در سایتی که از سیستم بلوک های وردپرس استفاده می کردند کار نکنند.
پلاگین های تحت تأثیر از فرم ها گرفته تا لغزنده و خرده نان متغیر بودند.
به روز رسانی: وردپرس نسخه 6.2.2 را برای اصلاح نسخه 6.2.1 منتشر کرد.
بهروزرسانی وردپرس 6.2.1
سایتهایی که از بهروزرسانی خودکار پسزمینه پشتیبانی میکنند، بهطور خودکار بهروزرسانی وردپرس 6.2.1 را دریافت کردند، زیرا یک نسخه امنیتی بود (رسماً یک نسخه نگهداری و امنیتی بود).
طبق اعلامیه رسمی انتشار وردپرس، این به روز رسانی شامل پنج اصلاح امنیتی است:
- «مسدود کردن تمها برای تجزیه کدهای کوتاه در دادههای تولید شده توسط کاربر؛…
- یک مشکل CSRF در حال بهروزرسانی ریز عکسهای پیوست. گزارش شده توسط جان بلکبورن از تیم امنیتی وردپرس
- نقصی که به XSS از طریق کشف خودکار جاسازی باز اجازه می دهد. به طور مستقل توسط Jakub Żoczek از Securitum و طی یک ممیزی امنیتی شخص ثالث گزارش شده است
- دور زدن پاکسازی KSES در ویژگی های بلوک برای کاربران کم امتیاز. در طی یک ممیزی امنیتی شخص ثالث کشف شد.
- مشکل پیمایش مسیر از طریق فایل های ترجمه. به طور مستقل توسط راموئل گال و طی یک ممیزی
- امنیتی شخص ثالث گزارش شده است.”
مشکل از اولین راه حل امنیتی ناشی می شود، اصلاحی که بر روی کدهای کوتاه در تم های بلوک تأثیر می گذارد، که باعث ایجاد مشکلات می شود.
کد کوتاه یک خط واحد از کد است که مانند یک پایه یا مکان نگهدار برای کد عمل می کند که عملکردی مانند فرم تماس را ارائه می دهد.
بنابراین به جای پیکربندی یک فرم تماس در هر صفحه ای که فرم در آن ظاهر می شود، می توان به سادگی یک خط به نام کد کوتاه قرار داد که سپس یک فرم تماس را جاسازی می کند.
متأسفانه کشف شد که هکرها می توانند کدهای کوتاه را در محتوای تولید شده توسط کاربر (مانند نظرات وبلاگ) اجرا کنند، که می تواند منجر به سوء استفاده شود.
WordFence این آسیب پذیری را شرح می دهد:
“WordPress Core کدهای کوتاه در محتوای تولید شده توسط کاربر را روی مضامین بلوک در نسخههای تا، و از جمله، 6.2 پردازش میکند.
این میتواند به مهاجمان احراز هویت نشده اجازه دهد تا از طریق ارسال نظرات یا محتوای دیگر، کدهای کوتاه را اجرا کنند و به آنها اجازه میدهد از آسیبپذیریهایی که معمولاً به مجوزهای سطح مشترک یا Contributor نیاز دارند، سوء استفاده کنند.
WordFence در ادامه توضیح می دهد که این آسیب پذیری مانند نقصی است که می تواند آسیب پذیری شدیدتری دیگر را فعال کند.
راه حل آسیب پذیری کد کوتاه حذف کامل عملکرد کد کوتاه از قالب های بلوک وردپرس بود.
اسناد رسمی برای رفع آسیب پذیری توضیح داد:
“پشتیبانی از کد کوتاه را از قالب های بلوک حذف کنید.”
شخصی راهحلی برای بازیابی پشتیبانی از کد کوتاه در قالبهای بلوک وردپرس ایجاد کرد.
اما راهحل آسیبپذیری را نیز بازیابی کرد:
برای کسانی که میخواهند در نسخه 6.2.1 بمانند و نیاز به بازیابی پشتیبانی از کدهای کوتاه روی قالبها دارند، میتوانند این راهحل را امتحان کنند.
اما توجه داشته باشید که پشتیبانی برای رفع مشکل امنیتی حذف شده است و با بازیابی پشتیبانی کد کوتاه احتمالاً مشکل امنیتی را باز میگردانید.
غیرفعال کردن پشتیبانی از کد کوتاه در واقع باعث میشود که برخی از سایتها ناکارآمد شوند و به طور کلی کار نکنند.
بنابراین افزودن راه حل تا زمانی که راه حل دائمی تری پیدا شود برای بسیاری از کاربران منطقی است.
توسعه دهندگان وردپرس رفع مشکل را «دیوانه» و «احمق» می گویند
توسعه دهندگان وردپرس ناراحتی خود را از به روز رسانی وردپرس گزارش کردند:
یک نفر نوشت:
“… برای من کاملا دیوانه کننده است که کدهای کوتاه با طراحی حذف شده اند!! هر یک از سایت های FSE آژانس ما از بلوک کد کوتاه در قالب ها برای همه چیز استفاده می کند: فیلترها، جستجو، ACF و ادغام افزونه ها. این هرج و مرج است!!
به نظر می رسد راه حل برای من کار نمی کند. به نسخه قبلی برمی گردیم و امیدواریم که راه حلی وجود داشته باشد.”
فرد دیگری پست شده:
“بله، من نفرت گوتنبرگ را درک نمیکنم، اما حداقل باید برخی بلوکها مانند Shortcode را که به تدریج در ویرایشگر سایت کامل حذف میکردند، ممنوع میکردند.
این برای توسعه دهندگان WP احمقانه بود.
افراد از روشهای قدیمی استفاده خواهند کرد، مگر اینکه چیز دیگری به آنها بگویید یا آنها را به چیزهای جدید راهنمایی کنید.
اما همانطور که گفتم، چه بهتر این بود که از طریق یک بلوک رسمی PHP یک پل بسازیم – یا در واقع گوش دادن به آنچه کاربران و توسعه دهندگان می خواهند.
یکی از پلاگین های قابل توجهی که تحت تاثیر قرار گرفت Rank Math بود. عملکرد خرده نان در صورت وجود روی مضامین بلوک پس از بهروزرسانی 6.2.1 ناموفق بود.
یک صفحه پشتیبانی Rank Math حاوی درخواستی برای رفع مشکل از یک کاربر افزونه Rank Math بود.
پشتیبانی Rank Math اضافه کردن یک راه حل را توصیه می کند. متأسفانه، این راهحل نه تنها عملکرد کد کوتاه را بازیابی میکند، بلکه آسیبپذیری را نیز بازیابی میکند.
این به روز رسانی همچنین عملکرد پلاگین Smart Slider 3 را نیز مسدود کرد.
یک موضوع پشتیبانی در صفحه افزونه Smart Slider 3 باز شد:
“کاملاً تقصیر شما نیست، اما Automattic تصمیم گرفته است که کدهای کوتاه را از قالب های بلوک استخراج کند. … ادعای «مشکل امنیتی» اما اساساً دو افزونه را که من از آن استفاده میکنم، شامل پلاگین شماست.
این بدان معناست که پلاگین شما فقط [smartslider3 slider=”6″] را هنگامی که در قالب FSE استفاده می شود نشان می دهد. اما در ویرایشگر FSE خوب نشون میده!
فقط فکر کردم شاید بخواهید بدانید، قبل از اینکه افراد سردرگمی که Automattic باید به آنها اطلاع می داد شروع به سرزنش شما کنند. آنها نباید فقط چنین عملکردی را حذف کنند – دوباره مثل روزهای بد قبلی است.
من اکنون باید نحوه وصل کردن برخی از کدهای فرم/PHP را برای قرار دادن لیست دسته ها در جعبه های جستجو نیز بیابم. Grr.”
تیم پشتیبانی Smart Slider 3 اضافه کردن راه حل را توصیه کرد.