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 (обычно через графический установщик или командную строку).

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

Если немедленная установка патча невозможна, заблокируйте доступ к уязвимым сервлетам.

  1. Настройте обратный прокси или 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'"
  2. Используйте сетевой экран (Firewall):

    • Ограничьте входящий доступ к веб-интерфейсу продукта (порты по умолчанию: 8080, 8443) только с доверенных IP-адресов (например, административной сети).
  3. Отключите уязвимые сервлеты (наиболее эффективно):

    • Найдите файл 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).