
RCE-уязвимость в Spring Framework через Data Binding на JDK 9+ (CVE-2022-22965, также известная как «Spring4Shell»)
RCE-уязвимость в Spring Framework через Data Binding на JDK 9+
Цель — централизовать как можно больше общедоступной информации об уязвимости на данный момент и знать, какие действия предпринять в таком случае.
Необходимые условия (AND):
На данный момент не уязвимо для этого эксплойта. Но имейте в виду, что эта уязвимость носит более общий характер, поэтому могут существовать другие способы её эксплуатации.
Spring Framework
Более старые или уже не поддерживаемые версии также уязвимы.
Spring Framework
Если нет возможности исправить уязвимость, Spring опубликовал несколько обходных решений.
Apache Tomcat выпустил 3 новые версии, обеспечивающие надлежащую защиту: 10.0.20, 9.0.62 и 8.5.78. Рекомендуется рассматривать их как дополнительный уровень защиты к обновлению Spring Framework.
Были опубликованы версии Spring Boot 2.6.6 и 2.5.12, которые зависят от Spring Framework 5.3.18.
Можно использовать инструмент https://github.com/hillu/local-spring-vuln-scanner (зеркало) для обнаружения экземпляров, уязвимых для Spring4Shell. Пример выполнения:
./local-spring-vuln-scanner --verbose --log </path/to/file.log> </path/to/app1> </path/to/appN>
Мы разработали правило обнаружения для Wazuh, которое вы можете найти в каталоге "detection" этого репозитория. Основываясь на наборе индикаторов атак (IOA), оно позволяет обнаруживать попытки атак.
Были предположения о коммите относительно подтверждения устаревания метода SerializationUtils.deserialize(...). Этот класс не подвергается внешним входным данным, и устаревание не связано с данной уязвимостью.
Была путаница с CVE для Spring Cloud Function, опубликованным незадолго до сообщения об этой уязвимости CVE-2022-22963. Он также не связан.
TryHackMe создала интерактивную лабораторию по эксплуатации Spring4Shell