Одна из самых популярных в мире тем WordPress на выходных незаметно исправила уязвимость безопасности, которая, по словам исследователей безопасности, похоже, исправила сохраненную уязвимость XSS.
Официальный Список изменений Астры предложил такое объяснение релиза безопасности:
«Повышенная безопасность: наша кодовая база была усилена для дальнейшей защиты вашего веб-сайта».
Их журнал изменений, в котором документируются изменения в коде, включенном в каждое обновление, не содержит никакой информации о том, в чем заключалась уязвимость или ее серьезность. Таким образом, пользователи тем не могут принять обоснованное решение относительно того, следует ли обновлять свою тему как можно скорее или сначала проводить тесты перед обновлением, чтобы убедиться, что обновленная тема совместима с другими используемыми плагинами.
SEJ обратилась к компании по безопасности Patchstack WordPress, которая подтвердила, что Astra, возможно, исправила уязвимость межсайтового скриптинга.
Содержание
WordPress тема Brainstorm Force Astra
Astra — одна из самых популярных тем WordPress в мире. Это бесплатная тема, относительно легкая, простая в использовании и позволяющая создавать профессионально выглядящие веб-сайты. В него даже интегрированы структурированные данные Schema.org.
Уязвимость межсайтового скриптинга (XSS)
Уязвимость межсайтового скриптинга — это один из наиболее распространенных типов уязвимостей, встречающихся в WordPress, который обычно возникает в сторонних плагинах и темах. Эта уязвимость возникает, когда есть способ ввода данных, но плагин или тема недостаточно фильтруют вводимые или выводимые данные, что впоследствии может позволить злоумышленнику загрузить вредоносную полезную нагрузку.
Эта конкретная уязвимость называется сохраненным XSS. Сохраненный XSS называется так потому, что он предполагает прямую загрузку полезной нагрузки на сервер веб-сайта и ее сохранение.
Некоммерческий веб-сайт Open Worldwide Application Security Project (OWASP) предлагает следующее: описание сохраненной XSS-уязвимости:
«Сохраненные атаки — это атаки, при которых внедренный сценарий постоянно хранится на целевых серверах, например, в базе данных, на форуме сообщений, в журнале посетителей, в поле комментариев и т. д. Затем жертва извлекает вредоносный сценарий с сервера, когда она запрашивает хранимая информация. Сохраненный XSS также иногда называют постоянным или XSS типа II».
Обзор плагина Patchstack
SEJ связался с Patchstack, который оперативно проверил измененные файлы и выявил возможную проблему безопасности темы в трех функциях WordPress. Функции WordPress — это код, который может изменить поведение функций WordPress, например, изменить длину отрывка. Функции могут добавлять настройки и добавлять в тему новые функции.
Patchstack объяснил свои выводы:
«Я скачал версии 4.6.9 и 4.6.8 (бесплатную версию) из репозитория WordPress.org и проверил различия.
Похоже, что в некоторые функции были внесены изменения, позволяющие избежать возвращаемого значения функции WordPress get_the_author.
Эта функция печатает свойство «display_name» пользователя, которое может содержать что-то вредоносное, что в конечном итоге может привести к уязвимости межсайтового скриптинга, если его распечатать напрямую, без использования какой-либо функции экранирования вывода.
Эти изменения были внесены в следующие функции:
astra_archive_page_info astra_post_author_name astra_post_authorЕсли, например, участник написал сообщение, и этот участник меняет свое отображаемое имя, чтобы оно содержало вредоносную полезную нагрузку, эта вредоносная полезная нагрузка будет выполнена, когда посетитель посетит эту страницу со своим вредоносным отображаемым именем».
Ненадежные данные в контексте XSS-уязвимостей в WordPress могут возникнуть там, где пользователь может вводить данные.
Эти процессы называются санацией, проверкой и экранированием — тремя способами защиты веб-сайта WordPress.
Можно сказать, что санация — это процесс фильтрации входных данных. Валидация — это процесс проверки входных данных, чтобы определить, соответствуют ли они именно тому, что ожидается, например, тексту, а не коду. Экранирование вывода гарантирует, что все выходные данные, например ввод пользователя или содержимое базы данных, можно безопасно отображать в браузере.
Компания Patchstack, занимающаяся безопасностью WordPress, обнаружила изменения в функциях, которые ускользают от данных, что, в свою очередь, дает подсказку о том, что это за уязвимость и как она была исправлена.
Рекомендации по безопасности Patchstack
Неизвестно, обнаружил ли уязвимость сторонний исследователь безопасности или же Brainstorm, создатели темы Astra, сами обнаружили ее и исправили.
Официальный Консультации по патчстеку предложил такую информацию:
«Неизвестный человек обнаружил и сообщил об уязвимости межсайтового скриптинга (XSS) в теме WordPress Astra. Это может позволить злоумышленнику внедрить на ваш веб-сайт вредоносные сценарии, такие как перенаправления, рекламные объявления и другие полезные данные HTML, которые будут выполняться, когда гости посещают ваш сайт. Эта уязвимость исправлена в версии 4.6.9».
Patchstack оценил уязвимость как среднюю угрозу и присвоил ей оценку 6,5 по шкале от 1 до 10.
Рекомендации по безопасности Wordfence
Wordfence также только что опубликовал консультации по безопасности. Они проанализировали файлы Astra и пришли к выводу:
«Тема Astra для WordPress уязвима для хранимых межсайтовых сценариев через отображаемое имя пользователя во всех версиях до 4.6.8 включительно из-за недостаточной очистки ввода и экранирования вывода. Это позволяет злоумышленникам, прошедшим проверку подлинности, с доступом на уровне участника и выше, внедрять произвольные веб-скрипты на страницы, которые будут выполняться всякий раз, когда пользователь обращается к внедренной странице».
Обычно пользователям темы рекомендуется обновить свою установку, но также разумно проверить, не вызывает ли обновленная тема ошибок, прежде чем размещать ее на действующем веб-сайте.
Рекомендованное изображение: Shutterstock/GB_Art