CVE-2013-4810
Hewlett Packard (HP) ProCurve Manager (PCM), PCM+, Identity Driven Manager (IDM), and Application Lifecycle Management
2022-03-25
HP ProCurve Manager (PCM), PCM+, Identity Driven Manager (IDM), and Application Lifecycle Management allow remote attackers to execute arbitrary code via a marshalled object to (1) EJBInvokerServlet or (2) JMXInvokerServlet.
Технический анализ и план устранения
Суть уязвимости
Уязвимость в сервлетах EJBInvokerServlet и JMXInvokerServlet продуктов HP позволяет удаленному злоумышленнику выполнить произвольный код на сервере. Атакующий отправляет специально сформированный сериализованный (marshalled) Java-объект на уязвимые эндпоинты, что приводит к десериализации недоверенных данных и выполнению кода.
Как исправить
Установите официальные патчи от HP, устраняющие уязвимость. Необходимая версия ПО зависит от конкретного продукта:
- HP ProCurve Manager (PCM) 3.20 и 4.0: Установите патч PHNE_33338.
- HP ProCurve Manager (PCM) 4.1 и 4.2: Установите патч PHNE_33339.
- HP ProCurve Manager Plus (PCM+) 3.20 и 4.0: Установите патч PHNE_33340.
- HP Identity Driven Manager (IDM) 3.20 и 4.0: Установите патч PHNE_33341.
- HP Application Lifecycle Management: Установите патч PHNE_33342.
Действия: 1. Определите точную версию и сборку вашего продукта HP. 2. Загрузите соответствующий патч с портала поддержки HP. 3. Установите патч в соответствии с официальной инструкцией HP (обычно через графический установщик или командную строку).
Временное решение
Если немедленная установка патча невозможна, заблокируйте доступ к уязвимым сервлетам.
-
Настройте обратный прокси или WAF (Web Application Firewall):
- Добавьте правила для блокировки HTTP-запросов к следующим путям:
/invoker/EJBInvokerServlet/invoker/JMXInvokerServlet
- Пример правила для ModSecurity (WAF):
bash SecRule REQUEST_URI "@contains /invoker/EJBInvokerServlet" "id:1001,deny,status:403,msg:'Block CVE-2013-4810'" SecRule REQUEST_URI "@contains /invoker/JMXInvokerServlet" "id:1002,deny,status:403,msg:'Block CVE-2013-4810'"
- Добавьте правила для блокировки HTTP-запросов к следующим путям:
-
Используйте сетевой экран (Firewall):
- Ограничьте входящий доступ к веб-интерфейсу продукта (порты по умолчанию: 8080, 8443) только с доверенных IP-адресов (например, административной сети).
-
Отключите уязвимые сервлеты (наиболее эффективно):
- Найдите файл
web.xmlв директории развертывания вашего приложения (например,WEB-INF/web.xml). - Закомментируйте или удалите объявления сервлетов
EJBInvokerServletиJMXInvokerServletи соответствующие им mapping. -
Пример того, что нужно найти и удалить/закомментировать: ```xml <servlet> <servlet-name>EJBInvokerServlet</servlet-name> <servlet-class>org.jboss.invocation.http.servlet.EJBInvokerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EJBInvokerServlet</servlet-name> <url-pattern>/invoker/EJBInvokerServlet/*</url-pattern> </servlet-mapping>
<servlet> <servlet-name>JMXInvokerServlet</servlet-name> <servlet-class>org.jboss.invocation.http.servlet.JMXInvokerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>JMXInvokerServlet</servlet-name> <url-pattern>/invoker/JMXInvokerServlet/*</url-pattern> </servlet-mapping>
`` * **Важно:** После измененияweb.xml` необходимо перезапустить сервер приложений (например, Tomcat, JBoss).
- Найдите файл