Инциденты

Уязвимость Spring4Shell (CVE-2022-22965): описание и противодействие

На прошлой неделе исследователи обнаружили в Spring – Java-фреймворке с открытым исходным кодом — критическую уязвимость CVE-2022-22965. С ее помощью атакующий может удаленно выполнить произвольный код на веб-сервере, что в сочетании с популярностью фреймворка Spring делает CVE-2022-22965 крайне опасной. По аналогии с нашумевшей Log4Shell обнаруженная уязвимость получила название Spring4Shell.

Технические детали CVE-2022-22965 и CVE-2022-22963

Уязвимость CVE-2022-22965 (Spring4Shell, SpringShell) использует функцию связывания данных, позволяющую привязать данные в HTTP-запросе к полям неких объектов приложения. Ошибка кроется в реализации метода getCachedIntrospectionResults: он может быть использован для получения несанкционированного доступа к этим объектам путем передачи имен их классов через данный HTTP-запрос. Это, в свою очередь, может привести к раскрытию данных или к удаленному выполнению кода при использовании специальных классов объектов.

Эта уязвимость схожа с давно закрытой CVE-2010-1622, где в качестве исправления были введены проверки имени, чтобы оно не соответствовало classLoader и protectionDomain. Однако в новой версии JDK появились альтернативные возможности эксплуатации, например через функционал Java 9 Platform Module System.

Так, например, злоумышленник может переписать конфигурацию журналирования Tomcat, чтобы в дальнейшем загрузить веб-шелл JSP и через него исполнять любые команды на сервере, где установлена уязвимая версия фреймворка.

Уязвимая конфигурация:

  • JDK версии 9+;
  • Apache Tomcat для обслуживания приложения;
  • Spring Framework версий от 5.3.0 до 5.3.17 и от 5.2.0 до 5.2.19 и ниже;
  • приложение собрано как WAR-файл.

С Java-фреймворком Spring связана еще одна уязвимость класса RCE — CVE-2022-22963. Эта уязвимость в функции роутинга Spring Cloud Function позволяет провести инъекцию кода через Spring Expression Language (SpEL) путем добавления в HTTP-запрос специального заголовка spring.cloud.function.routing-expression. SpEL — это специальный язык выражений, созданный для Spring Framework, который поддерживает запросы и управление графом объектов во время выполнения. CVE-2022-22963 также может быть использована для удаленного исполнения кода.

Уязвимая конфигурация:

  • Spring Cloud Function 3.1.6, 3.2.2 и более старые версии

Противодействие эксплуатации уязвимостей в Spring

Уязвимость CVE-2022-22965 исправлена в новой версии 2.6.6 фреймворка Spring. Информацию можно найти на официальном сайте.

Для исправления CVE-2022-22963 также необходимо установить новые версии Spring Cloud Function. Информация представлена на сайте VMware.

Для детектирования попыток эксплуатации уязвимостей клиентам «Лаборатории Касперского» необходимо убедиться, что включены модули Advanced Exploit Prevention и Network Attack Blocker. Некоторые из техник, используемых при эксплуатации, могут быть использованы и в других эксплойтах, которые мы детектируем, поэтому имена вердиктов могут отличаться.

Индикаторы заражения (IoC)

Вердикты
PDM:Exploit.Win32.Generic
UMIDS:Intrusion.Generic.Agent.gen
Intrusion.Generic.CVE-*.*

MD5-хэши эксплойтов
7e46801dd171bb5bf1771df1239d760c — shell.jsp (CVE-2022-22965)
3de4e174c2c8612aebb3adef10027679 — exploit.py (CVE-2022-22965)

Детектирование эксплуатации уязвимости при помощи Kaspersky EDR Expert

Уязвимость Spring4Shell (CVE-2022-22965): описание и противодействие

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике