Те откриха уязвимост в 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. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.