Разделы

Безопасность

Брешь во фреймворке Java Spring распахнула хакерам прямой путь к ПК с созданными с его помощью приложениями

Популярнейший фреймворк под Java содержит критическую уязвимость, позволяющую запускать произвольный код, хотя лишь при некоторых условиях. Исправлений нет.

Крупная проблема Java Spring

Во фреймворке Java Spring выявлена критическая уязвимость, позволяющая запускать произвольный код в приложениях, созданных с его помощью. Уязвимость, получившая название Spring4Shell, связана с небезопасной десериализацией переданных аргументов. Исправлений к уязвимости пока нет.

Spring Core представляет собой очень популярный фреймворк для быстрой и простой разработки Java-приложений с функциональностью корпоративного уровня. Эти приложения можно разворачивать на серверах, таких как Apache Tomcat, как самостоятельные пакеты со всеми необходимыми зависимостями.

За два дня в Spring были обнаружены сразу две уязвимости. Первая, CVE-2022-22963, средней степени опасности, позволяла злоумышленникам получать доступ к локальным ресурсам в Spring Cloud Function разных версий. К ней быстро появились эксплойты.

haker_600.jpg
Критическая уязвимость ставит под угрозу приложения на базе фреймворка Spring

Затем, однако, появилась информация о куда более опасной, критической уязвимости в Spring Core, которая допускает запуск произвольного кода удаленно. Сведения об этом баге вначале распространялись через чат QQ, затем появились на китайском сайте, посвященном вопросам информбезопасности.

В Сети ненадолго появился эксплойт к критической уязвимости. Его быстро убрали из общего доступа, но некоторые исследователи успели его выкачать и проверить, подтвердив его чрезвычайную опасность.

Неопределенность в масштабах бедствия

Изначально считалось, что уязвимость затрагивает все приложения на Spring, запускаемые на Java версии 9 и позднее. Однако затем выяснилось, что существуют определенные условия для эксплуатации. В частности, как выяснил эксперт по информационной безопасности CERT/CC Уилл Дорманн (Will Dormann), атакуемое приложение должно использовать бины (bean), объекты, управляемые Spring и привязку параметров (Spring Parameter Binding), настроенную таким образом, чтобы использовать определенные типы параметров, такие как POJO.

Другие эксперты подтверждают, что успешность атаки будет зависеть от текущих настроек Spring.

«При определенных настройках эксплуатация производится просто и прямолинейно: потребуется только отправить специально подготовленный запрос POST к уязвимой системе. Однако эксплуатация при других настройках потребует от злоумышленника дополнительно изучить ситуацию и подобрать эффективные средства атаки», — указывается в публикации ИБ-фирмы Praetorian.

Разработчик российской ОС подвел итоги года
Бизнес

Эксперты этой компании также дали инструкции, как частично нейтрализовать угрозу: для этого понадобится запретить некоторые «паттерны», которые направляются к функциям DataBinder в Spring Core.

Учитывая, что патча к уязвимости пока нет и что, по данным Bleeping Computer, ее уже активно используют злоумышленники, администраторам настоятельно рекомендуется воспользоваться хотя бы этими мерами.

«Учитывая популярность Spring, уязвимость действительно может представлять масштабную угрозу и ее название, отсылающее к Log4Shell — другой массово эксплуатировавшейся уязвимости — вполне оправданно, — говорит Михаил Зайцев, эксперт по информационной безопасности компании SEQ. — Ключевых вопросов сейчас два: сколько на самом деле приложений уязвимы, и когда выйдет необходимый патч. От этого во многом зависит практический масштаб ущерба».

Роман Георгиев