CVE-2020-1956
Apache Kylin
2022-03-25
Apache Kylin contains an OS command injection vulnerability which could permit an attacker to perform remote code execution.
Технический анализ и план устранения
Суть уязвимости
Злоумышленник может внедрить произвольные команды операционной системы в определенные параметры HTTP-запросов к веб-интерфейсу Apache Kylin. Успешная эксплуатация позволяет выполнить код на сервере с правами пользователя, под которым работает Kylin.
Как исправить
Обновите Apache Kylin до версии, в которой уязвимость устранена.
-
Определите текущую версию Kylin:
bash # В каталоге установки Kylin выполните: cat version -
Обновитесь до одной из исправленных версий:
- Apache Kylin 2.3.2 или новее (ветка 2.x)
- Apache Kylin 2.6.5 или новее (ветка 2.x)
- Apache Kylin 3.0.1 или новее (ветка 3.x)
- Apache Kylin 3.1.2 или новее (ветка 3.x)
- Apache Kylin 4.0.0 или новее (ветка 4.x)
Процесс обновления: * Остановите работающий экземпляр Kylin. * Сделайте резервную копию текущей установки и базы данных метаданных. * Скачайте и распакуйте архив исправленной версии с официального сайта. * Перенесите конфигурационные файлы (
kylin.properties, настройки данных источников) из резервной копии в новую установку. * Запустите обновленную версию и проверьте работоспособность.
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Ограничьте сетевой доступ:
- Настройте брандмауэр (например,
iptablesилиfirewalld), чтобы разрешить доступ к портам Kylin (по умолчанию 7070 для веб-интерфейса) только с доверенных IP-адресов (например, сеть администраторов, BI-серверов). ```bash
Пример для iptables (разрешить только с сети 10.1.1.0/24)
iptables -A INPUT -p tcp --dport 7070 -s 10.1.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 7070 -j DROP ```
- Настройте брандмауэр (например,
-
Настройте WAF (Web Application Firewall):
- Активируйте или настройте правила для блокировки HTTP-запросов, содержащих в параметрах символы или шаблоны, характерные для инъекций команд (например,
;,|,&,$(),\n,cat,bash,python).
- Активируйте или настройте правила для блокировки HTTP-запросов, содержащих в параметрах символы или шаблоны, характерные для инъекций команд (например,
-
Минимизируйте привилегии:
- Убедитесь, что служба Apache Kylin запущена от имени непривилегированного пользователя (не
root), созданного специально для этой задачи. Это ограничит потенциальный ущерб от выполнения произвольного кода.
- Убедитесь, что служба Apache Kylin запущена от имени непривилегированного пользователя (не