XSS уязвимость по-прежнему сохраняется для WordPress

https://blog.sucuri.net/2016/05/security-advisory-stored-xss-jetpack-2.html
  • Перевод
В ходе регулярных проверок и исследований была обнаружена сохранность XSS уязвимости, которая затрагивает плагин WordPress Jetpack, установленный на более чем миллион WordPress сайтов. Уязвимость может быть легко использована с помощью wp-комментариев, и поэтому рекомендуется обновить свой плагин как можно быстрее, если Вы этого еще не сделали.



Уязвимость безопасности находится в шорткоде встроенного Jetpack модуля, поэтому, если Вы не активировали его на сайте, Вас не затронет эта проблема. Атакующий может использовать данную уязвимость, оставив комментарий, подготовленный шорткод, чтобы выполнить вредоносный код Javascript на уязвимом сайте. Поскольку это Cross-Site Scripting (XSS) уязвимость, она может позволить злоумышленнику похитить учетные данные администраторов, вставить SEO спам на пораженную страницу и перенаправлять посетителей на вредоносные веб-сайты.

Подробнее


Эта уязвимость очень похожа на bbPress уязвимость, которая была описана на прошлой неделе, на сайте первоисточника другой экземпляр текста, небрежно заменяемого некоторыми HTML-тэгами.



В данном случае расследование уязвимости начинается с comment_text, использующейся при выводе содержимого комментариев. Vimeo_link используется таким образом, что он может динамически изменять вывод комментариев.



Как Вы можете видеть из приведенных выше регулярных выражений, осуществляется поиск vimeo шорткода внутри комментариев. В случае обнаружения совпадений они будут переданы функции vimeo_link_callback



В результате, возвращается HTML — тег, содержащий встроенное видео Vimeo. Давайте посмотрим на что похож полученный результат, отправив комментарий содержащий <a title='[vimeo 123]’>abc:



Ого, что же там произошло? Похоже, атрибуты заголовка, окончание и одинарные кавычки исчезли. Все, что нужно было сделать — работающий пример, который должен был показать, что мы можем соответствующим образом закрыть наши атрибуты заголовка и вставить новые обработчики произвольного события для доказательства нашей концепции. Как мы уже говорили — это очень легко эксплуатируется.

Авторы исследования работали с командой Jetpack и они сразу же откликнулись, держали нас в курсе обновлений все это время.

Если Вы используете уязвимую версию этого плагина, обновитесь как можно скорее! Если по определенным сделать это невозможно, Вы можете использовать Sucuri Firewall или эквивалентную технологию для решения проблемы.
  • +10
  • 12,6k
  • 9
ua-hosting.company 81,61
Хостинг-провайдер: серверы в NL / US до 100 Гбит/с
Поделиться публикацией
Комментарии 9
  • +3
    Можно было указать, что речь о конкретном плагине WP. А то из заголовка можно подумать что в ядре проблемы остались. Исправленные версии на jetpack.com
    • 0
      И в чём, собственно, новость? В плагинах бывают уязвимости? Или, о боже, как всегда, не все обновляют софт?)
    • +4
      Только одно не указано в статье — версия уязвимого плагина…
      Укажите, пожалуйста, дабы не мучать общественность хабра
      • +1
        Или просто отключить комментарии в блоге. У меня, к примеру, они изначально выключены.
        • +3
          Или можно отключить веб-сервер. У некоторых именно так и сделано. Однако это не решает проблемы, когда сайтам очень важно принимать комментарии пользователей.
        • +2
          Подано так, будто WP всегда был безгрешным, а тут — раз! — нашлась дыра, и ее еще не залатали.

          В жизни ситуация обычно другая. Ядро более-менее латают, по мере сил, но сторонние плагины — это сторонние плагины (даже если говорим про функционал плагинов, идущих из коробки). Авторам недосуг (или не по зубам) заткнуть дыры, владельцы/создатели сайто ставят то, что им кажется подходящим по функционалу (из описания), а не только то, что по результатам code review признают безопасным.

          Так что вы уж переименуйте пост из «XSS уязвимость по-прежнему сохранятся для WordPress» в «Еще одна XSS нашлась в еще одном плагине для WP». Да и то — вы написали об одном плагине, а ведь сотни их, и вопрос с безопасностью и качеством кода каждого из них — очень неопределенный. Сегодня дырок нет, а в завтрашней версии — уже есть, тут статьями про одну уязвимость в одной версии одного плагина не отделаться.
          • 0
            XSS уязвимость сохранятся

            Русский языка вешатся.
            • +1

              Кстати, у меня уже давненько выросло некое неприятие всех этих кастомных комментов. Есть же disquss, что ещё нужно?

              • 0
                Насколько мне известно, если включено автоматическое обновление данного плагина, то он автоматически обновляется.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое