В PHP найдены «дыры», позволяющие захватывать серверы

Безопасность Стратегия безопасности Интернет Интернет-ПО
мобильная версия
, Текст: Роман Георгиев
Исследователи фирмы Check Point выявили три уязвимости нулевого дня в PHP7, представлявшие серьезную угрозу для любого веб-сайта, использующего данный язык программирования. Практически одновременно стало известно об обнаружении серьезных уязвимостей в библиотеке PHPMailer, которая ставит под угрозу работу сайтов на базе популярных систем управления контентом - Wordpress, Joomla и Drupal. Все уязвимости к настоящему моменту заделаны. Разработчикам PHPMailer пришлось выпускать сразу два обновления.

Критические бреши в PHP 7

В движке массового языка веб-программирования PHP7 найдены три новые уязвимости, получившие обозначения CVE-2016-7479, CVE-2016-7480 и CVE-2016-7478, соответственно.

Первые две уязвимости, в случае успешной эксплуатации, позволили бы злоумышленникам получить полный контроль над атакуемым сервером. Третья уязвимость позволяет производить DoS-атаку на сервер под управлением PHP7.

К настоящему времени информации о фактической эксплуатации этих уязвимостей нет. Разработчики PHP уже выпустили обновления, и их настоятельно рекомендуется установить как можно скорее.

Та же область, другие уязвимости

Все три бага обнаружены в области, именуемой механизмом десериализации.

Сериализация — это процесс конвертирования сложной структуры языка программирования в строку для компактной передачи данных. Десериализация, соответственно, представляет собой обратный процесс — конвертирование строки, полученной при сериализации, обратно в сложную структуру.

В PHP7 выявлены три уязвимости нулевого дня

Исследователи Check Point потратили несколько месяцев, исследуя механизм десериализации в PHP 7. В PHP 5 данный механизм содержал серьезные уязвимости, которые позволили производить кибератаки на сервисы под управлением Drupal, Joomla, Magento и vBulletin. Атакам через уязвимости в PHP 5 подвергался также Pornhub.

Представители Check Point указывают, что в обнаружении багов в механизме сериализации PHP 7 нет ничего удивительного: «Этот механизм парсит «сложный» формат, а у того отсутствуют формализованные определения. Так что мы ожидали найти в нем баги», - говорит Яннай Ливнех (Yannay Livneh), эксперт компании Check Point.

PHPMailer: со второй попытки

Разработчики библиотеки PHPMailer лишь со второй попытки смогли заделать критическую брешь, которая позволяла производить запуск произвольного кода на удаленной системе. Злоумышленники могли таким образом перехватывать контроль над аккаунтами на веб-серверах или взламывать веб-приложения. В первую очередь, под угрозой оказались сайты под управлением популярных CMS Wordpress, Joomla и Drupal. PHPMailer насчитывает около 9 млн активных пользователей, так что угроза более чем существенная.

24 декабря разработчики выпустили обновление PHPMailer до версии 5.2.18, казалось бы, устранив данную уязвимость.

Однако 27 декабря независимый исследователь Давид Голунски (Dawid Golunski), обнаруживший изначальную уязвимость, заявил, что выпущенный патч можно успешно обойти.

В ответ разработчики библиотеки выпустили еще один патч, обновив версию до индекса 5.2.20 и на этот раз полностью устранив уязвимость.