Национальная база данных уязвимостей правительства США опубликовала уведомление об уязвимости, обнаруженной в официальном плагине WordPress Gutenberg. Но, по словам человека, который его нашел, WordPress не признал наличие уязвимости.
Сохраненная уязвимость межсайтового скриптинга (XSS)
XSS — это тип уязвимости, который возникает, когда кто-то может загрузить что-то вроде скрипта, который обычно нельзя разрешить через форму или другой метод.
Большинство форм и других входных данных на веб-сайте подтвердят ожидаемое обновление и отфильтруют опасные файлы.
Примером может служить форма для загрузки изображения, которая не может заблокировать злоумышленника от загрузки вредоносного скрипта.
По данным некоммерческого проекта Open Web Application Security Project, организации, занимающейся повышением безопасности программного обеспечения, вот что может произойти при успешной XSS-атаке:
«Злоумышленник может использовать XSS для отправки вредоносного скрипта ничего не подозревающему пользователю.
Браузер конечного пользователя не может узнать, что сценарию нельзя доверять, и выполнит его.
Поскольку он считает, что сценарий получен из надежного источника, вредоносный сценарий может получить доступ к любым файлам cookie, маркерам сеанса или другой конфиденциальной информации, сохраненной браузером и используемой на этом сайте.
Эти скрипты могут даже переписать содержимое HTML-страницы».
Распространенные уязвимости и риски — CVE
Организация под названием CVE служит способом документирования уязвимостей и публикации открытий для общественности.
Организация, которую поддерживает Министерство внутренней безопасности США, изучает обнаруженные уязвимости и, в случае принятия, присваивает уязвимости номер CVE, который служит идентификационным номером этой конкретной уязвимости.
Обнаружение уязвимости в Гутенберге
Исследование безопасности обнаружило то, что считалось уязвимостью. Обнаружение было отправлено в CVE, и обнаружение было одобрено, и ему был присвоен идентификационный номер CVE, что сделало обнаружение официальной уязвимостью.
Уязвимости XSS был присвоен идентификационный номер CVE-2022-33994.
Отчет об уязвимости, опубликованный на сайте CVE. содержит это описание:
«Плагин Gutenberg до версии 13.7.3 для WordPress позволяет сохранить XSS ролью участника через документ SVG для функции «Вставить из URL».
ПРИМЕЧАНИЕ. полезная нагрузка XSS не выполняется в контексте домена экземпляра WordPress; однако аналогичные попытки пользователей с низким уровнем привилегий ссылаться на документы SVG блокируются некоторыми аналогичными продуктами, и это различие в поведении может иметь отношение к безопасности для некоторых администраторов сайта WordPress».
Это означает, что кто-то с привилегиями уровня Contributor может вызвать вставку вредоносного файла на веб-сайт.
Способ сделать это — вставить изображение через URL-адрес.
В Гутенберге есть три способа загрузки изображения.
- Загрузить
- Выберите существующее изображение из медиатеки WordPress.
- Вставьте изображение из URL-адреса
Именно из-за этого последнего метода возникает уязвимость, потому что, по словам исследователя безопасности, можно загрузить изображение с любым расширением имени файла в WordPress через URL-адрес, что не позволяет функция загрузки.
Это действительно уязвимость?
Исследователь сообщил об уязвимости в WordPress. Но, по словам человека, обнаружившего его, WordPress не считал его уязвимостью.
Вот что пишет исследователь:
«Я обнаружил уязвимость Stored Cross Site Scripting в WordPress, которая была отклонена и отмечена командой WordPress как информативная.
Сегодня 45-й день с тех пор, как я сообщил об уязвимости, но на момент написания этой статьи уязвимость не была исправлена…»
Таким образом, возникает вопрос, прав ли WordPress, а фонд CVE, поддерживаемый правительством США, ошибается (или наоборот) относительно того, является ли это XSS-уязвимостью.
Исследователь настаивает на том, что это реальная уязвимость, и предлагает принять CVE, чтобы подтвердить это утверждение.
Кроме того, исследователь подразумевает или предполагает, что ситуация, когда плагин WordPress Gutenberg позволяет загружать изображения через URL-адрес, может быть не очень хорошей практикой, отмечая, что другие компании не разрешают такую загрузку.
«Если это так, то скажите мне, почему… …такие компании, как Google и Slack, дошли до того, что проверяли файлы, загружаемые по URL-адресу, и отклоняли файлы, если выяснялось, что они SVG!
…Google и Slack… не позволяйте файлам SVG загружаться по URL-адресу, что делает WordPress!»
Что делать?
WordPress не выпустил исправление для уязвимости, потому что они, похоже, не верят, что это уязвимость или та, которая представляет проблему.
В официальном отчете об уязвимости говорится, что версии Gutenberg до 13.7.3 содержат уязвимость.
Но 13.7.3 самая актуальная версия.
Согласно официальному журналу изменений WordPress Gutenberg, в котором фиксируются все прошлые изменения, а также публикуется описание будущих изменений, для этой (предполагаемой) уязвимости не было исправлений, и они не планируются.
Так что вопрос в том, можно ли что-то исправить.
Цитаты
Отчет базы данных уязвимостей правительства США об уязвимости
Отчет опубликован на официальном сайте CVE
Прочитайте выводы исследователя
CVE-2022-33994: XSS сохранен в WordPress.
Избранное изображение Shutterstock/Kues