CVE-2016-3088

Apache ActiveMQ

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

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

2022-02-10

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

The Fileserver web application in Apache ActiveMQ allows remote attackers to upload and execute arbitrary files via an HTTP PUT followed by an HTTP MOVE request

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

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

Уязвимость в веб-приложении Fileserver Apache ActiveMQ позволяет удаленному злоумышленнику загружать произвольные файлы на сервер с помощью HTTP PUT-запроса, а затем перемещать их в исполняемое местоположение (например, в директорию webapps) с помощью HTTP MOVE-запроса. Это приводит к выполнению произвольного кода на сервере с правами пользователя, под которым работает ActiveMQ.

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

Основное решение — обновление Apache ActiveMQ до версии, в которой уязвимость устранена.

  1. Обновите Apache ActiveMQ до версии 5.14.0 или выше.
  2. Для систем на базе Debian/Ubuntu (если установлен из репозитория): bash sudo apt update sudo apt install activemq Убедитесь, что установленная версия пакета не ниже 5.14.0.
  3. Для ручной установки скачайте и разверните архив с исправленной версией с официального сайта: bash wget https://archive.apache.org/dist/activemq/5.14.0/apache-activemq-5.14.0-bin.tar.gz tar -xzf apache-activemq-5.14.0-bin.tar.gz
  4. После обновления обязательно перезапустите службу: bash sudo systemctl restart activemq # Или из директории установки: # ./bin/activemq restart

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

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

  1. Отключите веб-консоль и Fileserver. В файле конфигурации conf/jetty.xml закомментируйте или удалите контекст, связанный с fileserver и/или admin. Например, найдите и удалите блок, похожий на: xml <bean id="fileserver" class="org.eclipse.jetty.webapp.WebAppContext"> <property name="resourceBase" value="${activemq.base}/webapps/fileserver" /> <property name="contextPath" value="/fileserver" /> </bean>
  2. Ограничьте сетевой доступ. Настройте брандмауэр (например, iptables или ufw), чтобы запретить внешний доступ к порту веб-консоли ActiveMQ (по умолчанию 8161) со всех сетей, кроме доверенных (например, административной). bash # Пример для iptables: разрешить только с IP 192.168.1.100 sudo iptables -A INPUT -p tcp --dport 8161 -s 192.168.1.100 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 8161 -j DROP
  3. Используйте WAF (Web Application Firewall). Настройте правила для блокировки HTTP-методов PUT и MOVE (или COPY) ко всем путям, связанным с ActiveMQ (/fileserver/, /admin/).
  4. Удалите или переименуйте директорию Fileserver. Если компонент не используется, физически удалите или переместите папку webapps/fileserver из директории установки ActiveMQ. bash cd /opt/activemq mv webapps/fileserver webapps/fileserver.bak После любых изменений в конфигурации перезапустите службу ActiveMQ.