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 до версии, в которой уязвимость устранена.
- Обновите Apache ActiveMQ до версии 5.14.0 или выше.
- Для систем на базе Debian/Ubuntu (если установлен из репозитория):
bash sudo apt update sudo apt install activemqУбедитесь, что установленная версия пакета не ниже 5.14.0. - Для ручной установки скачайте и разверните архив с исправленной версией с официального сайта:
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 - После обновления обязательно перезапустите службу:
bash sudo systemctl restart activemq # Или из директории установки: # ./bin/activemq restart
Временное решение
Если немедленное обновление невозможно, выполните следующие действия:
- Отключите веб-консоль и 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> - Ограничьте сетевой доступ. Настройте брандмауэр (например,
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 - Используйте WAF (Web Application Firewall). Настройте правила для блокировки HTTP-методов
PUTиMOVE(илиCOPY) ко всем путям, связанным с ActiveMQ (/fileserver/,/admin/). - Удалите или переименуйте директорию Fileserver. Если компонент не используется, физически удалите или переместите папку
webapps/fileserverиз директории установки ActiveMQ.bash cd /opt/activemq mv webapps/fileserver webapps/fileserver.bakПосле любых изменений в конфигурации перезапустите службу ActiveMQ.