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-адресов.