Самат Галимов

Доброе утро.

PHPMailer (этой библиотекой для отправки писем пользуются буквально миллионы сайтов) содержит критическую уязвимость Remote Code Execution из-за забытого эскейпинга поля from.

Вкратце: если сайт даёт вписать адрес отправителя письма и использует уязвимую библиотеку для их отправки — то атакующий сможет выполнить любую команду на сервере с правами сайта (например, удалить сайт или отправлять с него спам).

Мне особенно интересны 2 момента:

  1. Dawid Golunski сообщил об ошибке публично 25.12.2016, но пока не пишет, в чем конкретно заключается уязвимость и не показывает PoC код [proof of concept, пример кода, эксплуатирующего уязвимость]. Это, очевидно, сделано для того, чтобы скрипткиддисы [малокомпетентные хакеры (kiddie — ребенок)] не использовали его пример как инструкцию к действию. При этом понять, в чем заключалась уязвимость, можно просто посмотрев на коммит, исправляющий эту ошибку.

  2. Прикольно, как относятся к своим пользователям разные проекты. Drupal (популярная CMS, движок для сайта) не включает в себя PHPMailer напрямую. Тем не менее, они выпустил PSA (public security advisory, условно письмо АААА всем обновляться срочно) через 12 часов после публичного описания ошибки, Joomla сделала это через сутки, а Wordpress не написал ничего до сих пор. Я попытался найти публичный security advisory list для Wordpress и угадайте что?

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

Как много хакнутых сайтов мы увидим в ближайшие месяцы?