آسیب پذیری منع سرویس در نسخه های پایینتر از ۵٫۳ وردپرس
این آسیبپذیری از قابلیت pingback فایل xmlrpc که در هستهی وردپرس وجود دارد برای اعمال حملات Dos به وبسایت استفاده میکند و نتیجتاً وبسایت از دسترس خارج میشود. وردپرسهای نسخه ۵٫۳ به پایین آسیبپذیر هستند.
منشاء آسیبپذیری
آسیبپذیری از دو تابع system.multicall و pingback.ping در هستهی وردپرس نشات میگیرد. تابع system.multicall امکان فراخوانی دیگر APIها را فراهم میکند و از طرفی تابع pingback.ping برای ارسال درخواست HTTPS از سرور وردپرس به هر آدرس دلخواهی استفاده میشود.
Denial of Service
ارسال تعداد زیادی درخواستهای pingback.ping به سرور با استفاده از قابلیت multicall باعث اشغال بیش از حد منابع سرور شده و در نهایت موجب از دسترس خارج شدن وبسایت وردپرسی میشود (Denial of Service).
اکسپلویت آسیبپذیری
اکسپلویت منتشر شده برای این آسیبپذیری یک اسکریپت پایتونی (Python3) است که منجر به مصرف بیش از حد حافظه و CPU سرور آپاچی توسط سرویس MySQL میشود. سرورهای NGINX نیز در صورت استفاده از php-fpm آسیبپذیر هستند.
غیرفعال کردن XML-PRC
برای غیرفعال کردن XML-PRC در وردپرس کافی است قطعه کد زیر را در فایل .htaccess در پوشه public_html قرار دهید.
# Block WordPress xmlrpc.php requests
order deny,allow
deny from all
allow from 123.123.123.123
روش دیگر استفاده از افزونه Remove XML-RPC Pingback Pingاست که XML-PRC را بطور کل غیرفعال نمیکند و تنها ویژگی pingback وبسایت غیرفعال میشود.
منبع خبر: مرکز ماهر