CVE-2019-7609

Elastic Kibana

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

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

2022-01-10

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

Kibana contain an arbitrary code execution flaw in the Timelion visualizer.

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

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

Уязвимость (Prototype Pollution) в компоненте Timelion позволяет злоумышленнику, имеющему доступ к веб-интерфейсу Kibana, внедрить и выполнить произвольный код JavaScript на сервере. Это приводит к полному компрометированию узла Kibana.

Атака возможна через специально сформированный запрос к эндпоинту Timelion (/api/timelion/run), который модифицирует прототипы объектов в Node.js-окружении Kibana.

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

Основной метод — обновление Kibana до исправленной версии.

  1. Определите текущую версию Kibana: bash /usr/share/kibana/bin/kibana --version
  2. Обновите Kibana до одной из безопасных версий:

    • Для ветки 6.x: 6.6.1 или выше.
    • Для ветки 5.x: 5.6.15 или выше.

    Пример для Debian/Ubuntu (официальный репозиторий Elastic): ```bash

    Обновите индекс пакетов и установите исправленную версию

    sudo apt update sudo apt install kibana=6.6.1

    Или для версии 5.x

    sudo apt install kibana=5.6.15 ```

    Пример для RHEL/CentOS (официальный репозиторий Elastic): ```bash sudo yum update kibana-6.6.1

    Или для версии 5.x

    sudo yum update kibana-5.6.15 3. **Перезапустите службу Kibana:**bash sudo systemctl restart kibana ```

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

Если немедленное обновление невозможно, примените следующие меры:

  1. Отключите компонент Timelion. В конфигурационный файл Kibana (kibana.yml) добавьте строку: yaml timelion.enabled: false После изменения конфигурации перезапустите Kibana: bash sudo systemctl restart kibana

  2. Ограничьте сетевой доступ. Настройте брандмауэр (например, iptables или firewalld), чтобы разрешать подключения к порту Kibana (по умолчанию 5601) только с доверенных IP-адресов (например, с адресов администраторов или фронтенд-серверов). bash # Пример iptables для разрешения только с сети 192.168.1.0/24 sudo iptables -A INPUT -p tcp --dport 5601 -s 192.168.1.0/24 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 5601 -j DROP

  3. Настройте обратный прокси (например, nginx). Разместите перед Kibana веб-сервер, который будет блокировать запросы к уязвимому эндпоинту: nginx location /api/timelion/run { deny all; return 403; }