DoS-уязвимость в Wordpress позволяет "уронить" практический любой сайт, и патча для нее нет

отметили
46
человек
в архиве
DoS-уязвимость в Wordpress позволяет "уронить" практический любой сайт, и патча для нее нет

Независимый израильский ИБ-специалист Барак Тавайли (Barak Tawily) обнаружил и подробно описал в своем блоге критическую DoS-уязвимость в WordPress CMS. Баг получил идентификатор CVE-2018-6389 и представляет опасность для всех версий WordPress, вышедших за последние девять лет (включая наиболее свежий релиз 4.9.2).

В своей статье специалист объясняет, что проблема связана с работой load-scripts.php, который используется для обработки пользовательских запросов. Исходно load-scripts.php был создан для удобства администраторов сайтов, чтобы те могли улучшить производительность своих ресурсов, объединив несколько файлов JavaScript воедино. При этом разработчики WordPress не сочли нужным защитить эту функциональность какой-либо аутентификацией, чтобы скрипт мог работать и без логина. Фактически, load-scripts.php оказался доступен любому желающему.

В зависимости от установленных модулей и плагинов, load-scripts.php выборочно подгружает различные файлы JavaScript, чьи имена перечисляются через запятую после параметра «load». То есть URL должен выглядеть следующим образом:

your-wordpress-site.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery

Так, во время загрузки сайта, load-scripts.php пытается отыскать каждый из перечисленных в URL файлов JavaScript, чтобы «отдать» их браузеру пользователя в виде одного файла.

Тавайли обнаружил, что атакующий может заставить load-scripts.php загрузить все возможные файлы JavaScript вообще, просто перечислив их в URL. Из-за этого атакуемый сайт может начать работать значительно медленнее, поглощая все больше и больше мощностей сервера. Разумеется, при помощи одного такого запроса злоумышленнику не удастся спровоцировать отказ в обслуживании, однако исследователь создал proof-of-concept эксплоит: простой скрипт doser.py, написанный на Python. Скрипт отправляет множество подобных запросов целевому URL. Примерно после 500 запроса средний сайт, работающий на VPS-сервере, перестает отвечать вовсе, «отдавая» лишь ошибки 502, 503 и 504.

Специалист отмечает, что с одного компьютера вряд ли удастся «положить» работающий под управлением WordPress сайт, расположенный на мощном, отдельном сервере, однако если в распоряжении атакующего есть широкий канал или несколько ботов, атака сработает и против такого ресурса, причем окажется менее затратной для злоумышленника, нежели обычный DDoS.

Хотя DoS-уязвимости не подпадают под bug bounty программу WordPress, Тавайли все же сообщил о проблеме разработчикам через платформу HackerOne. К сожалению, создатели WordPress не сочли обнаруженную уязвимость достаточно серьезной и сообщили, что решать такие проблемы нужно на уровне сервера или сети, но не на уровне приложений. То есть патча для этого бага не существует.

В ответ на это Барак Тавайли опубликовал на GitHub собственный форк WordPress, в котором уязвимость устранена. Также исследователь выложил в открытый доступ bash-скрипт, который позволяет исправить проблему в уже существующих установках WordPress.

Добавил X86 X86 6 Февраля 2018
проблема (1)
Комментарии участников:
В.В.Путин
0
В.В.Путин, 6 Февраля 2018 , url

Ссылка на bash-скрипт https://raw.githubusercontent.com/Quitten/WordPress/master/wp-dos-patch.sh

oleg_ws
+1
oleg_ws, 6 Февраля 2018 , url

DoS-уязвимость в Wordpress позволяет «уронить» практический любой сайт, и патча для нее нет

 ???

X86
+2
X86, 7 Февраля 2018 , url

Ну понятно, что сайт на Wordpress)

oleg_ws
+2
oleg_ws, 7 Февраля 2018 , url

Вот имено, что «догадайся мол сама...». Хорошо, что начальник или заказчик в теме, а то прочитает какой-нибудь непрофи и начнет с сайтом на Джумле или Битриксе мозги полоскать. И попробуй ему что-то объяснить, он в ответ начнет тебе в заголовок тыкать.

AKMS
+2
AKMS, 7 Февраля 2018 , url

вон оно че, Петрович :)

норд
+3
норд, 7 Февраля 2018 , url

wp-admin под http auth  — и проблема решена. Нечего в wp-admin делать всем, кому ни попадя.



Войдите или станьте участником, чтобы комментировать