CVE-2019-10068

Kentico Xperience

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-03-25

Официальное описание

Kentico contains a failure to validate security headers. This deserialization can led to unauthenticated remote code execution.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость (CVE-2019-10068) в Kentico Xperience связана с небезопасной десериализацией данных. Злоумышленник может отправить специально сформированный HTTP-запрос с вредоносными данными в заголовках безопасности (например, X-Forwarded-For). Система некорректно их обрабатывает, что позволяет выполнить произвольный код на сервере без аутентификации.

Как исправить

Установите патчированную версию Kentico Xperience, в которой устранена проблема с валидацией заголовков.

  • Для версий 12.0.x: Обновитесь до Kentico 12.0.42 или новее.
  • Для версий 11.0.x: Обновитесь до Kentico 11.0.56 или новее.
  • Для версий 10.0.x и старше: Обновитесь до одной из вышеуказанных поддерживаемых версий, так как эти ветки более не поддерживаются.

Процесс обновления: 1. Создайте полную резервную копию базы данных и файлов сайта. 2. Скачайте патчированный установщик с официального портала Kentico. 3. Запустите установщик и следуйте инструкциям по обновлению инсталляции.

Временное решение

Если немедленное обновление невозможно, настройте Web Application Firewall (WAF) для блокировки атак, использующих небезопасную десериализацию.

Пример правила для ModSecurity (CRS):

SecRule REQUEST_HEADERS:X-Forwarded-For "@rx (?:\\$|\\{|\\[|\\||\\^|\\]|\\}|\\(|\\)|\\+|\\-|\\!|\"|#|%|&|'|,|\\.|/|:|;|<|=|>|\\?|@|`|~)" \
    "id:100068,\
    phase:2,\
    deny,\
    status:403,\
    msg:'CVE-2019-10068 - Potential Deserialization Attack in X-Forwarded-For Header',\
    tag:'attack-rce'"

Альтернативные меры: * На уровне сети/обратного прокси (например, nginx): Ограничьте или нормализуйте заголовок X-Forwarded-For, удаляя из него подозрительные символы. nginx location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # Дополнительная фильтрация должна быть настроена через map или lua-скрипт } * На уровне приложения: Рассмотрите возможность временного отключения обработки заголовка X-Forwarded-For в коде, если это не критично для функциональности.