Вони виявили вразливість у Spring Framework

Нещодавно новина про це заявила виявлено критичну вразливість типу нульового дня в модулі Spring Core постачається як частина Spring Framework, що дозволяє віддаленому, неавтентифікованому зловмиснику виконувати свій код на сервері.

За деякими оцінками, модуль Spring Core використовується в 74% програм Java. Небезпека вразливості зменшується тим, що лише програми, які використовуйте анотацію "@RequestMapping", щобПід’єднуючи обробники запитів і використовуючи параметри веб-форми у форматі «ім’я=значення» (POJO, звичайний старий Java-об’єкт), а не JSON/XML, вони піддаються атаці. Поки не зрозуміло, які програми та фреймворки Java зачіпає ця проблема.

Ця вразливість, названа "Spring4Shell", використовує переваги ін'єкції класів, що веде до повного RCE, і є дуже серйозною. Назва «Spring4Shell» була обрана тому, що Spring Core — це повсюдна бібліотека, подібна до log4j, яка породила сумнозвісну вразливість Log4Shell.

Ми вважаємо, що користувачі, які використовують JDK версії 9 і новіших, уразливі до атаки RCE. Застосовані всі версії Spring Core.

Існують стратегії для пом’якшення атаки, і ми вважаємо, що не всі сервери Spring обов’язково є вразливими, залежно від інших факторів, які обговорюються нижче. Тим не менш, наразі ми рекомендуємо всім користувачам застосовувати пом’якшення чи оновлення, якщо вони використовують Spring Core.

Використання вразливості можливе лише при використанні Java/JDK 9 або новішої версії. Уразливість блокує внесення до чорного списку полів "class", "module" і "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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.