ActiveMQ версии 5.16.0 имеет уязвимый jar зависимостей

#java #activemq

#java #activemq

Вопрос:

Я использую ActiveMQ 5.16.0, загруженный с Apache. Я вижу, что некоторые банки являются более старыми версиями, которые имеют уязвимости, например:

  1. com.google.guava_guava 19.0
  2. core_jackson-привязка данных 2.9.10.4
  3. shiro-core 1.5.3
  4. log4j-1.2.17

Я вижу , что все вышеперечисленные уязвимые банки расположены под apache-activemq-5.16.0liboptional ними . Что такое использование jars в optional каталоге? Существует ли какая-либо последняя версия ActiveMQ, которая имеет все последние зависимости?

Ответ №1:

Необязательные зависимости — это просто необязательные.

Использование Shiro в вашем случае в качестве ссылки.

Необязательные зависимости: обычно необязательная зависимость не требуется для основной функциональности библиотеки, на которую вы ссылаетесь. В этом случае Shiro требуется только в том случае, если вы намерены использовать функции или функциональность Apache Shiro. Shiro используется для обеспечения безопасности, и поэтому имеет смысл, что он не будет использоваться всеми, кто использует ActiveMQ.

Версии: Часто (не всегда) необязательные версии зависимостей не установлены в камне, и может быть возможно использовать более новые версии без нарушения функциональности. Это не всегда так, поэтому, если вы хотите это сделать, начните с предпочтительной версии и обновите только после того, как функциональность будет работать для тестирования.

Уязвимости: просто потому, что уязвимость существует, это не делает ее применимой к вашему варианту использования. Просто потому, что существует известная уязвимость в зависимости, которая может выполнять XYZ, это, скорее всего, не повлияет на вас, если ваш вариант использования не использует XYZ. Отчет о безопасности, такой как Apache Shiro one, может помочь в понимании этого.

Дополнительно: я бы посоветовал вам заглянуть в Maven или Gradle для ваших Java-проектов. Это избавит от необходимости беспокоиться об этих типах проблем управления зависимостями, поскольку необязательные зависимости по умолчанию не включены в иерархию зависимостей.