MaxPatrol VM
Где находятся уязвимости в вашей инфраструктуре?
Набор библиотек PHPOffice позволяет работать с таблицами, текстовыми файлами и презентациями в форматах Microsoft Office и OpenDocument
Эксперт PT SWARM Александр Журнаков помог исправить уязвимость в библиотеке с открытым исходным кодом Math, которая используется для работы с математическими формулами, и защитить связанную с ней библиотеку PHPWord, предназначенную для чтения и генерации текстовых документов на языке PHP. До устранения недостаток мог бы позволить злоумышленнику получать содержимое локальных файлов или выполнять запросы от имени сервера. Разработчик опенсорсного проекта был уведомлен об угрозе в рамках политики ответственного разглашения и выпустил обновления библиотек.
PHPWord популярна среди разработчиков. В июне 2025 года 7,4 тыс. пользователей добавили библиотеку в избранное, она имеет 2,7 тыс. копий репозитория на веб-сервисе GitHub. В свою очередь, Math встроена в PHPWord и почти не используется отдельно — ее сохранили 29 пользователей, а репозиторий был скопирован всего четыре раза.
Уязвимость CVE-2025-48882, найденная в Math 0.2.0, имеет высокий уровень опасности — 8,7 балла по шкале CVSS 4.0. Из-за связанности библиотек слабое место присутствовало и в компоненте PHPWord начиная с версии 1.2.0-beta.1. После успешной эксплуатации дефекта безопасности злоумышленник гипотетически мог бы захватить содержимое конфигурационных файлов приложений, использующих уязвимые библиотеки.
Для устранения пробела в защите требуется как можно скорее установить Math 0.3.0. Чтобы атакующие не смогли воспользоваться недостатком через связанную библиотеку, команда разработчиков-энтузиастов обновила версию зависимости Math в PHPWord, после чего была опубликована PHPWord 1.4.0 с исправлением. Компании, которые не имеют возможности загрузить патч, могут, по словам эксперта Positive Technologies, решить проблему иначе: если используемое приложение позволяет загружать файлы в формате ODF1, необходимо настроить запрет на их использование.
1 OpenDocument Format (ODF) — открытый формат для хранения файлов (в частности, текстовых документов, электронных таблиц, презентаций) и обмена ими; использует XML-файлы, сжатые в ZIP-архив.
«Условная эксплуатация уязвимости с большой вероятностью выполнялась бы от имени авторизованного пользователя через веб-интерфейс приложения, использующего PHPWord или Math. Нарушитель мог бы загрузить вредоносный текстовый файл в формате OpenDocument и в процессе его обработки прочитать конфигурационные файлы. Используя их данные, злоумышленник гипотетически получил бы административный доступ к приложению. Возможная атака, скорее всего, была бы направлена на чтение файлов, содержащих чувствительную информацию. В некоторых случаях ошибка могла бы быть использована для подделки запросов со стороны сервера (SSRF) и их отправки во внутреннюю сеть».
Потенциальный ущерб, который успешная эксплуатация дефекта безопасности нанесла бы компании, по словам Александра, полностью зависел бы от возможностей приложения, использующего уязвимую библиотеку. Например, если бы в руках злоумышленника оказался обособленный сервис для конвертации документов в формат PDF, ему вряд ли удалось бы серьезно повредить организации.
Обнаружить такие уязвимости можно еще на стадии разработки продукта — с помощью статистического анализатора кода, такого как PT Application Inspector. Для детектирования обнаруженных недостатков безопасности в своей инфраструктуре используйте MaxPatrol VM. Эффективно и применение динамических анализаторов кода, например PT BlackBox. Для блокировки попыток эксплуатации уязвимостей стоит использовать межсетевые экраны уровня веб-приложений, к примеру PT Application Firewall (у которого также есть облачная версия — PT Cloud Application Firewall). Обнаружить вредоносный файл в сети может помочь PT Sandbox, а следующие шаги эксплуатации уязвимости — продукты класса NTA, например PT Network Attack Discovery, и средства анализа сетевого трафика, например PT NGFW.