CVE-2025-2747
Kentico Xperience CMS
2025-10-20
Kentico Xperience CMS contains an authentication bypass using an alternate path or channel vulnerability that could allow an attacker to control administrative objects.
Технический анализ и план устранения
Суть уязвимости
Уязвимость CVE-2025-2747 в Kentico Xperience CMS относится к классу CWE-288 (Authentication Bypass Using an Alternate Path or Channel).
Суть проблемы заключается в том, что механизм маршрутизации или проверки доступа приложения некорректно обрабатывает нестандартные пути или специально сформированные URI. Злоумышленник может модифицировать URL-адрес запроса (например, используя символы обхода каталогов, нормализацию путей или альтернативные эндпоинты API), чтобы обойти фильтры аутентификации. В результате атакующий получает несанкционированный доступ к административной панели или контроллерам управления объектами CMS, что позволяет ему создавать, изменять или удалять административные учетные записи и настройки системы.
Как исправить
Единственным надежным способом устранения данной уязвимости является обновление системы до версии, содержащей исправление от вендора.
- Создайте полную резервную копию базы данных и файлов проекта (включая медиабиблиотеки).
- Проверьте матрицу совместимости Kentico для вашей текущей версии.
- Если вы используете Kentico Xperience 13, примените последний доступный Hotfix через утилиту Kentico Installation Manager (KIM) или обновите соответствующие NuGet-пакеты в вашем решении Visual Studio.
- Если вы используете Xperience by Kentico (.NET Core), обновите NuGet-пакеты
Kentico.Xperience.AdminиKentico.Xperience.WebAppдо пропатченной версии через менеджер пакетов. - Пересоберите проект и разверните его на тестовом контуре (Staging) для проверки работоспособности административного интерфейса.
- После успешного тестирования разверните обновление на продуктивной среде (Production).
Временные меры
Если немедленная установка патча невозможна, необходимо ограничить доступ к административному интерфейсу (/admin, /cmsctx и связанным API) на уровне веб-сервера или WAF.
Ограничение доступа по IP в IIS (через PowerShell): Если Kentico развернут на Windows Server с IIS, установите модуль IP Security и разрешите доступ к админке только с доверенных IP-адресов корпоративной сети.
Install-WindowsFeature Web-IP-Security
Add-WebConfigurationProperty -Filter "system.webServer/security/ipSecurity" -Name "." -Value @{ipAddress="198.51.100.50"; allowed="true"} -PSPath "IIS:\Sites\KenticoSite"
Set-WebConfigurationProperty -Filter "system.webServer/security/ipSecurity" -Name "allowUnlisted" -Value "false" -PSPath "IIS:\Sites\KenticoSite"
Ограничение доступа на уровне Reverse Proxy (Nginx): Если Xperience by Kentico развернут в Docker или за Nginx, заблокируйте доступ к административным путям для всех, кроме разрешенных подсетей. Перезагрузите конфигурацию после внесения изменений.
nginx -s reload
Настройка WAF (Web Application Firewall):
* Включите строгую нормализацию путей (Path Normalization) на вашем WAF (например, Cloudflare, AWS WAF или F5).
* Создайте правило для блокировки запросов, содержащих подозрительные последовательности в URI (например, //, ../, %2e, %2f), направленных к административным сегментам сайта.
* Настройте алерты в SIEM на коды ответа 200 OK для путей /admin/*, если запрос исходит от внешних (не корпоративных) IP-адресов.