Рубріки: Новости

В Java Spring Framework нашли критическую уязвимость — кто может пострадать

Игорь Грегорченко

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

 

Почему это важно

 29 марта 2022 года с китайского аккаунта в Twitter был опубликован набор твитов (ныне удаленных), в которых были показаны скриншоты нового POC-эксплойта 0-day в популярной Java-библиотеке Spring Core.

На момент написания этой новости, уязвимость находится в статусе wild, то есть не имеет номера CVE, связанного с этой уязвимостью, а пользователи в сети называют ее Spring4Shell или или как SpringShell.

Учитывая распространённость Spring Framework, специалисты справедливо опасаются грандиозного погрома в ближайшие недели-месяцы. Важно учитывать два момента:

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

Технические детали

 Перечислим, что известно на этот момент:

  • Клиенты, использующие 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 и записи в этот файл кода, подготовленного атакующим. Далее, созданный файл становится доступным для прямых запросов извне.

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

# curl http://example.com/shell.jsp?cmd=whoami

 

Что можно сделать?

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

 

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023