Xakep #305. Многошаговые SQL-инъекции
На платформе WordPress работает пятая часть всех сайтов в интернете, так что малейшая уязвимость в CMS или популярных плагинах привлекает пристальное внимание. Тем более такой мега-баг, какой обнаружил финский хакер Йоуко Пюннёнен (Jouko Pynnönen) из компании Klikki Oy. Он раскрыл технические подробности в минувшее воскресенье.
Критическая уязвимость 0day (на момент публикации в воскресенье патча не было, но он вышел в понедельник) затрагивает встроенную систему публикации комментариев WordPress, которая до сих пор широко используется на многих сайтах. Оказывается, если опубликовать достаточно длинный комментарий (64k символов), то можно вызвать баг, который приводит к исполнению постороннего кода с этой HTML-страницы.
Образец комментария
<a title='x onmouseover=alert(unescape(/hello%20world/.source)) style=position:absolute;left:0;top:0;width:5000px;height:5000px AAAAAAAAAAAA...[64 kb]..AAA'></a>
Код будет исполнен для каждого, кто зайдёт на страницу с таким комментарием, в том числе на компьютере администратора системы, установив в системе бэкдор (видео).
Уязвимость актуальна для WordPress 4.2 и более ранних версий. Она похожа на аналогичный баг с комментариями, который исправили на прошлой неделе, но там исполнение кода инициировалось через специальный символ, а здесь — через объём комментария.
Патч вышел в понедельник 27 апреля: WordPress 4.2.1.