В популярной библиотеке PHPWord, которую используют для работы с текстовыми документами в PHP, обнаружили уязвимость. Проблема оказалась не в ней напрямую, а в её зависимой библиотеке Math, которая отвечает за обработку математических формул.
Недоработка, которую обнаружил Александр Журнаков из Positive Technologies, могла позволить злоумышленнику получить доступ к локальным файлам на сервере или отправлять запросы от его имени.
Всё зависело от того, как именно библиотека используется в приложении. Например, если через веб-интерфейс был доступ к загрузке ODF-файлов, атакующий мог бы загрузить вредоносный документ и — при определённых условиях — считать содержимое конфигурационных файлов. А там и до административного доступа недалеко.
Уязвимость получила идентификатор CVE-2025-48882 и оценку 8,7 балла по шкале CVSS 4.0 — это высокий уровень опасности. Проблема затрагивала Math версии 0.2.0 и, соответственно, PHPWord начиная с версии 1.2.0-beta.1.
Для защиты достаточно обновить Math до версии 0.3.0 и поставить PHPWord 1.4.0, где уже обновлён список зависимостей. Если по каким-то причинам это сделать нельзя, есть обходной вариант: запретить загрузку ODF-файлов, если приложение поддерживает их обработку.
По словам экспертов из Positive Technologies, потенциальный ущерб от такой уязвимости полностью зависит от контекста — в каких условиях и для чего используется библиотека. В некоторых случаях всё могло бы ограничиться чтением конфигурации, а в других — дать доступ к внутренней сети через SSRF-атаки.