Вслед за обнаруженной уязвимостью CVE-2016-10033 стало известно, что выпущенный патч не до конца закрывает дыру в известной библиотеке отправки писем. На данный момент разработчики еще не подготовили новую версию, надеемся в ближайшее время это будет исправлено. Поэтому в данный момент уязвимость носит характер 0day. Уязвимы все версии PHPMailer до 5.2.19 включительно.

Уязвимость CVE-2016-10045 удаленного исполнения кода в PHPMailer
Уязвимость CVE-2016-10045 удаленного исполнения кода в PHPMailer < 5.2.20

Как и предыдущая уязвимость, Remote Code Execution бага позволяет к примеру создавать файлы с произвольным кодом, что дает возможность злоумышленникам загрузить шелл на сайт и получить полный контроль над сайтом. Уязвимрсти присвоен уровень критической, разберем детальнее чего не хватило предыдущему патчу.

Как оказалось, функция escapeshellarg() игнорирует некоторую фильтрацию функции escapeshellcmd() при использовании пятого параметра функции отправки mail(). Как результат не экранируются кавычки, что приводит к появлению уязвимого места и возможности осуществления атаки.

Пример эксплуатации атаки:

payload = "\"attacker\\' -oQ/tmp/ -X%s/phpcode.php some\"@email.com" % RW_DIR

Осталось дождаться патча и уповать, что в этом году не будет больше дыр в этом компоненте.

Добавить комментарий