Специалисты по кибербезопасности обнаружили две уязвимости высокого уровня опасности в популярной платформе управления телефонными системами FreePBX. Обе проблемы затрагивают модули, используемые для работы с пользовательскими панелями и функциями автоматической настройки. Исправления уже выпущены вендором, однако организации, не установившие обновления, подвергаются риску компрометации серверов.
Детали уязвимостей
Первая уязвимость получила идентификатор GHSA-4jjr-8g5r-wv66 и связана с интерфейсом UCP (User Control Panel - панель управления пользователями). Ошибка позволяет аутентифицированным пользователям выполнять произвольные команды на сервере от имени веб-сервера (обычно под пользователем asterisk). Причина - недостаточная санация некоторых URL-параметров, которые обрабатывает модуль UCP. Злоумышленник может подставить управляющие последовательности и добиться выполнения вредоносных команд.
Для эксплуатации необходим доступ к UCP с действующей учётной записью. Примечательно, что такой доступ обычно имеют менее привилегированные пользователи, тогда как административная панель ACP (Administrator Control Panel) доступна лишь узкому кругу лиц. Это расширяет поверхность атаки. По шкале CVSS v4.0 уязвимость получила 8,6 балла (High). Вектор атаки - сетевой, сложность низкая, требования к привилегиям - низкие, взаимодействие с пользователем не требуется.
Вторая уязвимость (GHSA-j53p-5m8r-j3p6) затрагивает модуль Superfecta, который автоматически настраивает параметры для внешних источников (например, определения номеров). Проблема классифицируется как возможность удалённого выполнения произвольного PHP-кода (RCE). Ошибка кроется в механизме AJAX-обработчика: код небезопасно подключает PHP-файлы из каталога sources/ на основе введённых пользователем данных. При этом злоумышленник может комбинировать эту уязвимость с другими модулями, например, с backup (создание каталогов) и soundlang (загрузка файлов с раскрытием полного пути к ним). Это позволяет разместить вредоносный PHP-файл и выполнить его.
Для атаки требуется аутентифицированный доступ с известным именем пользователя. Оценка CVSS v4.0 - также 8,6 балла (High). Эксплуатация приводит к выполнению кода на уровне веб-сервера, что даёт злоумышленнику контроль над ключевыми функциями телефонной станции.
Обе уязвимости затрагивают версии FreePBX 16 и 17. Для FreePBX 16 модуль UCP уязвим в версиях до 16.0.39, модуль Superfecta - до 16.0.40. Для FreePBX 17 порог исправления - версия 17.0.7 для обоих модулей. Вендор уже выпустил патчи.
В качестве дополнительных мер предлагается ограничить доступ к UCP и ACP только доверенными пользователями, использовать модули FreePBX Firewall для блокировки нежелательных сетей, а также применять многофакторную аутентификацию (MFA) или VPN.
История этих уязвимостей показательна. Проблема в UCP, как указано в сообщении вендора, существует более десяти лет - с момента появления самого интерфейса. Предыдущее исправление в 2023 году оказалось недостаточным. Вторая уязвимость в модуле Superfecta корнями уходит в 2012 год - эпоху внедрения AJAX-обработчиков. Это говорит о том, что кодовая база FreePBX содержит долгоживущие уязвимости, которые могут быть не всегда очевидны при аудитах.
Последствия эксплуатации обеих уязвимостей серьёзны. Успешная атака может привести к полной компрометации сервера PBX (учрежденческой АТС), утечке голосового трафика, перехвату звонков, модификации конфигурации и остановке работы телефонной сети организации. Учитывая, что FreePBX широко используется в малом и среднем бизнесе, а также в государственных учреждениях, риски затрагивают значительный сегмент.
На данный момент CVE-идентификаторы обеим уязвимостям не присвоены. Однако вендор предоставил бюллетени безопасности с детальными рекомендациями. Администраторам следует проверить версии установленных модулей UCP и Superfecta и применить обновления в кратчайшие сроки. Промедление с установкой патчей создаёт прямую угрозу безопасности инфраструктуры.
Таким образом, обнаруженные уязвимости в FreePBX - это не инцидент, а техническая проблема, которая уже решена на уровне кода. Ответственность за безопасность теперь лежит на администраторах: от их действий зависит, станет ли эта уязвимость инцидентом для конкретной организации.
Ссылки
- https://github.com/FreePBX/security-reporting/security/advisories/GHSA-4jjr-8g5r-wv66
- https://github.com/FreePBX/security-reporting/security/advisories/GHSA-j53p-5m8r-j3p6