Серьезная уязвимость Java позволяет хакерам выдавать себя за кого угодно

Серьезная уязвимость Java позволяет хакерам выдавать себя за кого угодно

Oracle исправила опасную уязвимость в среде Java, серьезность которой, по мнению экспертов по безопасности, невозможно переоценить.

Уязвимость, отслеживаемая как CVE-2022-21449, была обнаружена в алгоритме цифровой подписи на основе эллиптических кривых (ECDSA) для Java 15 и более поздних версий. Это позволяет злоумышленникам подделывать сертификаты и подписи TSL, коды двухфакторной аутентификации, учетные данные авторизации и многое другое.

Как объясняет ArsTechnica, ECDSA — это алгоритм, который аутентифицирует сообщения в цифровом виде. Поскольку он генерирует ключи, он часто используется в таких стандартах, как двухфакторная аутентификация FIDO, язык разметки утверждений безопасности, OpenID и JSON.

Подделка SSL-сертификатов и рукопожатий

Уязвимость была впервые обнаружена Нилом Мэдденом из ForgeRock, который сравнил эксплойт с пустым удостоверением личности в научно-фантастическом сериале «Доктор Кто». В сериале человек, смотрящий на удостоверение личности, видит все, что хочет видеть владелец, даже если карта пуста.

«Оказывается, некоторые последние версии Java были уязвимы для подобных уловок при реализации широко используемых сигнатур ECDSA», — объяснил Мэдден.

«Если вы используете одну из уязвимых версий, злоумышленник может легко манипулировать определенными типами SSL-сертификатов и рукопожатий (позволяя перехватывать и изменять сообщения), подписанными JWT, утверждениями SAML или токенами безопасности. Идентификация OIDC и даже сообщения аутентификации WebAuthn, все это с использованием цифрового эквивалента чистого листа бумаги.

Официальная оценка серьезности ошибки составила 7,5 из 10, но Мэдден не согласен с этой оценкой.

«Трудно переоценить серьезность этой ошибки. Если вы используете подписи ECDSA для любого из этих механизмов безопасности, злоумышленник может тривиально и полностью обойти их, если на вашем сервере установлена ​​Java версии 15, 16, 17 или 18 до апрельского критического обновления (CPU) 2022. Для контекста: почти все устройства WebAuthn/FIDO в реальном мире (включая Yubikeys используют подписи ECDSA, а многие провайдеры OIDC используют JWT, подписанные ECDSA), сказал он.

По-видимому, затронуты только версии Java 15 и более поздние, хотя Oracle также включила версии 7, 8 и 11 в список уязвимых. Однако всем клиентам рекомендуется обновить свои устройства до последней версии.

Via Ars Technica