CVE-2019-0193

Apache Solr

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

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

2021-12-10

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

The optional Apache Solr module DataImportHandler contains a code injection vulnerability.

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

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

Уязвимость в модуле DataImportHandler (DIH) Apache Solr позволяет удаленному атакующему выполнить произвольный код на сервере. Для эксплуатации требуется доступ к веб-интерфейсу Solr и права на конфигурирование DIH. Атакующий может отправить специально сформированный запрос к эндпоинту /solr/<core>/dataimport, который приведет к выполнению вредоносных команд.

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

Основное решение — обновление Apache Solr до безопасной версии.

  1. Обновите Apache Solr до одной из следующих версий:

    • Solr 8.2.0 или новее
    • Solr 7.7.2 или новее
    • Solr 6.6.5 или новее
  2. Для систем на базе Debian/Ubuntu (если Solr установлен из репозитория): ```bash # Определите текущую версию dpkg -l | grep solr

    Обновите пакеты и установите solr

    sudo apt update sudo apt install solr ```

  3. Для ручной установки скачайте и установите исправленную версию с официального сайта Apache Solr.

  4. После обновления перезапустите службу Solr: bash sudo systemctl restart solr

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

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

  1. Отключите модуль DataImportHandler для всех коллекций (cores). Для этого в файле solrconfig.xml каждой коллекции закомментируйте или удалите секцию <requestHandler name="/dataimport" class="...DataImportHandler">.

  2. Ограничьте сетевой доступ к порту Solr (по умолчанию 8983) с помощью брандмауэра. Разрешите подключения только с доверенных IP-адресов (например, с серверов приложений). bash # Пример для UFW (Ubuntu) sudo ufw deny 8983/tcp # Или разрешите только определенный IP sudo ufw allow from 192.168.1.100 to any port 8983

  3. Настройте аутентификацию и авторизацию в Solr, используя плагин BasicAuth или интеграцию с reverse proxy (например, nginx, Apache HTTP Server) для проверки подлинности пользователей перед доступом к панели управления.

  4. Настройте правила WAF для блокировки запросов, содержащих подозрительные параметры (например, command, dataConfig) в пути /dataimport.