В популярном плагине Jetpack для WordPress обнаружена опасная уязвимость. Используя её, злоумышленник может обойти фильтрацию вводимых данных и внедрить в страницу вредоносный код. Это может позволить ему захватить контроль над чужими учётными данными, в том числе и администраторов ресурса.

Одна из функций плагина — так называемые шорткоды для удобной вставки в посты видео, документов или виджетов из Youtube, Facebook, Google Maps и других сервисов. В отличие от тэгов HTML, шорткоды заключены не в угловые, а в квадратные скобки. Уязвимость, находится в реализации именно этой функции - злоумышленник может оставить комментарий, в котором шорткод спрятан в атрибуте ссылки.

<a title=[vimeo 123]>abc</a>

Обычно WordPress тщательно проверяет данные, которые поступают извне, и обезвреживает их, превращая понятные браузеру разметку и скрипты в безобидный текст. Но в данном случае что-то идёт не так, и обломки тэга, разорванного результатами обработки шорткода, ускользают от внимания санитизатора. В результате у злоумышленника появляется шанс встроить в комментарий вредоносный код.

<a title='[vimeo 123]>abc</a>

Обычно WordPress тщательно проверяет данные, которые поступают извне, и обезвреживает их, превращая понятные браузеру разметку и скрипты в безобидный текст (фильтрация и санация).

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