Екипът за изследване на сигурността на компанията Searchlight Cyber откри изключително сериозна уязвимост в самото ядро на популярната система за управление на съдържание WordPress. Става въпрос за уязвимост за отдалечено изпълнение на код преди проверка на самоличността (известна в технологичната среда като Pre-Authentication Remote Code Execution или накратко RCE).

Тази атака няма никакви предварителни изисквания или условия. Това означава, че тя може да бъде задействана от абсолютно анонимен потребител в интернет върху стандартна, базова инсталация на WordPress, без да е необходимо на сайта да има инсталирани каквито и да е допълнителни разширения (плъгини) или специфични теми.

Според текущите статистически оценки, над 500 милиона уебсайта по целия свят използват платформата WordPress за управление на своето съдържание. Поради изключително голямата опасност от този технически проблем и с цел да се даде достатъчно време на администраторите и защитниците да затворят пропуските, откривателите на уязвимостта не споделят подробни технически детайли за метода на експлоатация в този момент.

Въпреки това, те са разработили и пуснали специален инструмент за проверка (checker), чрез който всеки собственик на сайт може да провери директно дали неговото копие на системата е уязвимо към този конкретен пропуск в сигурността. Адресът за проверка е: https://wp2shell.com/

Засегнати версии на платформата

Проблемът засяга конкретни версии на софтуера, като разпределението на риска е следното:

Версии, по-малки от 6.9.0: Тези по-стари версии не са засегнати от открития проблем. Версии от 6.9.0 до 6.9.4: Тези версии са засегнати от уязвимостта, като проблемът е официално отстранен и коригиран в последвалата версия 6.9.5. Версии от 7.0.0 до 7.0.1: Те също са засегнати, като необходимата корекция е внедрена във версия 7.0.2. Начини за защита и намаляване на риска

Най-добрият, сигурен и препоръчителен начин да се предпазите от потенциални атаки е незабавно да обновите вашата WordPress инсталация. Версия 7.0.2 съдържа пълната поправка на проблема (или версия 6.9.5, ако вашата система поддържа клона 6.9). Докато успеете да планирате и извършите това обновяване, съществуват няколко алтернативни и временни варианта за ограничаване на опасността:

Първи вариант: Инсталирайте и активирайте допълнителното разширение (плъгин), наречено „Disable WP REST API“. Това разширение ще спре възможността на нерегистрирани потребители без профил да използват интерфейса за програмиране (API) на WordPress. Това е най-лесният и бърз вариант за реакция, но той носи със себе си минимален риск от нарушаване на някои от съществуващите функционалности на вашия уебсайт.

Втори вариант: Използвайте защитна стена за уеб приложения (WAF), за да блокирате достъпа до уеб пътя /wp-json/batch/v1, както и до параметъра за заявки rest_route=/batch/v1. Изключително важно е да се отбележи, че и двата посочени модела трябва да бъдат блокирани едновременно, за да бъде вашата инсталация напълно защитена чрез този подход.

Трети вариант: Можете ръчно да създадете и добавите персонализиран плъгин директно във файловата система на вашия WordPress сървър. Трябва да поставите специфичния програмен код във файл с точно наименование disable-batch-api-for-unauth.php, разположен в директорията wp-content/plugins/. Този процес може да се извърши чрез сигурна връзка по SSH или FTP. След като файлът е качен успешно на сървъра, трябва да го активирате от секцията „Разширения“ (Plugins) в администраторския панел на WordPress.

Ето и пълния текст на програмния код, който трябва да съдържа този файл:

get_route() ) ) || is_user_logged_in() ) { return $result; } return new WP_Error( 'rest_batch_authentication_required', 'Authentication is required to use the batch API.', array( 'status' => 401 ) ); } add_filter( 'rest_pre_dispatch', 'wporg_require_authentication_for_rest_batch', -1000, 3 );

Моля, обърнете внимание, че тези алтернативни технически решения могат да окажат сериозно влияние върху нормалната и правилна употреба на сайта от страна на вашите потребители или външни системи. Поради тази причина те трябва да се разглеждат единствено като спешни и временни мерки, докато преминете към цялостно обновяване на софтуерната платформа.

Заслуги и откритие

Уязвимостта е открита, изследвана и описана подробно от експерта по сигурност Адам Куис (Adam Kues), работещ в изследователския екип на компанията Searchlight Cyber.