Специалист компании Secarma Labs обнаружил способ использования PHP-бага, связанного с десериализацией данных, против сайтов, работающих под управлением CMS WordPress и не только.

В сущности, проблема кроется не в самой популярной CMS и затрагивает далеко не только WordPress, а любые основанные на PHP приложения и библиотеки, работающие с поступающими от пользователей данными. Баг связан с тем, как PHP преобразовывает PHP-объекты в строки и обратно. Этот процесс и называется сериализацией и десериализацией, и используется во всех языках программирования для перемещения данных между различными сервисами, серверами и приложениями.

О проблемах сериализации и десериализации в PHP известно давно. Впервые об этом заговорил ИБ-эксперт Стефан Эссар (Stefan Essar) в далеком 2009 году, а в последующие годы эту тему развивали другие специалисты. В результате были описаны новые методы компрометации серверов, работающих с PHP-приложениями.

Теперь еще один метод эксплуатации проблемы на новый лад представил на конференциях Black Hat и BSides вышеупомянутый эксперт компании Secarma Labs Сэм Томас (Sam Thomas). Способ исследователя позволяет использовать процесс десериализации для выполнения произвольного кода в приложении и на сервере.

Суть метода заключается в том, что атакующий должен иметь возможность поставить (загрузить) вредоносные данные на сервер. Это позволит запустить цепочку операций, начинающихся с потока phar://, которая и приведет к исполнению вредоносного кода.
Полное выступление эксперта на BSides, со всеми подробностями, можно увидеть ниже.

В ходе презентации своего доклада, Томас привел примеры использования проблемы против CMS WordPress и Typo3, а также библиотеки TCPDF, встроенной в CMS Contao. Так как наиболее популярным из этих примеров является WordPress, остановимся на нем немного подробнее.

Компрометации сайта на WordPress

В WordPress проблема PHP-десериализации затрагивает процесс обработки миниатюр (thumbnail). Фактически это означает, что для проведения атаки злоумышленнику будет достаточно загрузить вредоносное изображение на сервер. Эксперт объясняет, что для разных версий CMS потребуются разные пейлоады: один для WordPress до версии 4.9 и еще один для более новых версий.

В WordPress и TCPDF уязвимость до сих пор не исправлена, но исследователь сообщил, что разработчики Typo3 уже устранили баг, 12 июля 2018 года выпустив обновленные версии 7.6.30, 8.7.17 и 9.3. На выпуск патча им потребовалось немногим больше месяца.

1 комментарий

  1. sazhnikoff

    21.08.2018 at 11:59

    Всё больше убеждаюсь, что свой собственный сервер хоть и дороже обычного хостинга, но на нем все эти уязвимости легко закрываются …

Оставить мнение