Они обнаружили уязвимость в Spring Framework

Недавно стало известно, что обнаружена критическая уязвимость типа нулевого дня в модуле Spring Core поставляется как часть Spring Framework, что позволяет удаленному злоумышленнику, не прошедшему проверку подлинности, выполнить свой код на сервере.

По некоторым оценкам, модуль Spring Core используется в 74% приложений Java. Опасность уязвимости снижается тем, что только приложения, используйте аннотацию "@RequestMapping", чтобыПодключая обработчики запросов и используя привязку параметров веб-формы в формате «имя=значение» (POJO, Plain Old Java Object), а не JSON/XML, они становятся уязвимыми для атак. Пока неясно, какие Java-приложения и фреймворки затронуты этой проблемой.

Эта уязвимость, названная «Spring4Shell», использует внедрение классов, что приводит к полной RCE, и является очень серьезной. Название «Spring4Shell» было выбрано потому, что Spring Core — это вездесущая библиотека, похожая на log4j, породившую печально известную уязвимость Log4Shell.

Мы считаем, что пользователи, использующие JDK версии 9 и выше, уязвимы для RCE-атаки. Затронуты все версии Spring Core.

Существуют стратегии для смягчения атаки, и мы считаем, что не все серверы Spring обязательно уязвимы, в зависимости от других факторов, обсуждаемых ниже. Тем не менее, в настоящее время мы рекомендуем всем пользователям применять меры по снижению риска или выполнять обновление, если они используют Spring Core.

Эксплуатация уязвимости возможна только при использовании Java/JDK 9. или более новая версия. Уязвимость блокирует занесение в черный список полей «класс», «модуль» и «classLoader» или использование явного белого списка разрешенных полей.

Проблема за счет возможности обойти защиту от уязвимости CVE-2010-1622, Исправлено в Spring Framework 2010 и связано с выполнением обработчика classLoader при разборе параметров запроса.

Работа эксплойта сводится к отправке запроса cс параметрами "class.module.classLoader.resources.context.parent.pipeline.first.*", обработка которых при использовании "WebappClassLoaderBase" приводит к вызову класса AccessLogValve.

Указанный класс позволяет настроить логгер для создания произвольного файла jsp в корневом окружении Apache Tomcat и записи в этот файл кода, указанного злоумышленником. Созданный файл доступен для прямых запросов и может использоваться как веб-шелл. Для атаки на уязвимое приложение в среде Apache Tomcat достаточно отправить запрос с определенными параметрами с помощью утилиты curl.

Рассматриваемая проблема в Spring Core не путать с недавно выявленными уязвимостями CVE-2022-22963 и CVE-2022-22950. Первая проблема затрагивает пакет Spring Cloud, а также позволяет выполнять удаленное выполнение кода (эксплойт). CVE-2022-22963 исправлена ​​в выпусках Spring Cloud 3.1.7 и 3.2.3.

Вторая проблема CVE-2022-22950 присутствует в Spring Expression, может использоваться для запуска DoS-атак и исправлена ​​в Spring Framework 5.3.17. Это принципиально разные уязвимости. Разработчики Spring Framework пока не сделали никаких заявлений о новой уязвимости и не выпустили исправление.

В качестве временной меры защиты рекомендуется использовать в коде черный список недопустимых параметров запроса.

По-прежнему не понятно насколько катастрофическими могут быть последствия выявленной проблемы и будут ли атаки такими же массовыми, как в случае с уязвимостью в Log4j 2. Уязвимость получила кодовое название Spring4Shell, CVE-2022-22965, выпущены обновления Spring Framework 5.3.18 и 5.2.20 для устранения уязвимости.

Патч теперь доступен с 31 марта 2022 г. в последних выпущенных версиях Spring 5.3.18 и 5.2.20. Мы рекомендуем всем пользователям обновиться. Для тех, кто не может выполнить обновление, возможны следующие меры:

Основываясь на сообщении Praetorian, подтверждающем наличие RCE в Spring Core, в настоящее время рекомендуемый подход заключается в исправлении DataBinder путем добавления в черный список уязвимых шаблонов полей, необходимых для эксплуатации.

Наконец да вы заинтересованы в возможности узнать об этом больше о заметке, вы можете проверить детали По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.