Spring4Shell RCE — критическая уязвимость в Java Spring Framework

Kate

Administrator
Команда форума
890c9a2a0fd0e57676a445fdf8f4513f.png

Не успел мир отойти от Apache Log4j2 (CVE-2021-44228), как в сети появились сообщения о новых 0-day уязвимостях. В Spring Framework для Java обнаружено сразу несколько уязвимостей "нулевого дня", позволяющих, в том числе, выполнять произвольный код (RCE).

На данный момент выявлено 3 недостатка:

  • RCE в библиотеке Spring Cloud Function (CVE-2022-22963) - уязвимость актуальна для версии библиотеки до 3.2.3;
  • Уязвимость среднего уровня, которая может вызвать состояние DoS (CVE-2022-22950) - затрагивает версии Spring Framework с 5.3.0 по 5.3.16;
  • Spring4Shell в Spring Core — уязвимость внедрения классов для эксплуатации RCE (еще не присвоен идентификатор CVE).
Информация представлена в ознакомительных целях, не нарушайте законодательство.

Spring4Shell в Spring Core​

Клиенты, использующие JDK версии 9 и новее, уязвимы для атаки удаленного выполнения кода из-за обхода CVE-2010-1622. Уязвимости подвержены все версии Spring Core (исправление еще не выпущено). Уязвимость затрагивает функции, использующие RequestMapping и параметры POJO (Plain Old Java Object).

Работа эксплоита сводится к отправке запроса с параметрами class.module.classLoader.resources.context.parent.pipeline.first.*, обработка которых при использовании WebappClassLoaderBase приводит к обращению к классу AccessLogValve. Указанный класс позволяет настроить логгер для создания произвольного jsp-файла в корневом окружении Apache Tomcat и записи в этот файл указанного атакующим кода. Созданный файл становится доступным для прямых запросов.

Результатом эксплуатации будет созданный shell.jsp, при обращении к которому можно выполнять произвольные команды на сервере, например:

# curl http://example.com/shell.jsp?cmd=whoami
Эксплойт уже доступен в паблике, но по этическим соображениям мы пока не будем публиковать PoC.

5f357df870e49292d440a54db6186aa6.png

Разработчики еще не выпустили патч, но вы можете использовать Nemesida WAF, блокирующий попытки эксплуатации этой и других уязвимостей, включая техники обхода. Оставайтесь защищенными.

 
Сверху