В OpenSSL выявлены уязвимости, позволяющие декриптовать транзитный трафик и организовать выполнение кода
Опубликованы корректирующие выпуски OpenSSL 1.0.1h, 1.0.0m и 0.9.8za, в которых устранена опасная уязвимость (CVE-2014–0224), позволяющая совершить MITM-атаку, которая может привести к расшифровке и модификации на транзитном шлюзе проходящего в рамках защищённого SSL/TLS-соединения трафика. Информация об уязвимости была направлена команде разработчиков OpenSSL исследователем безопасности Kikuchi Masashi, выявившем наличие проблемы. До выхода исправления сведения об уязвимости не разглашались публично. По мнению Kikuchi Masashi уязвимость присутствует в коде с самых первых выпусков OpenSSL и оставалась незамеченной из-за недостаточно полного рецензирования и аудита кода проекта экспертами, досконально разбирающимися в реализации TLS/SSL.
Атака может быть успешно проведена только при использовании уязвимой версии OpenSSL одновременно на стороне сервера и клиента, между которыми организован канал связи. Уязвимость в клиентской части присутствует во всех версиях OpenSSL, в то время как на сервере уязвимость проявляется только при использовании веток OpenSSL 1.0.1 и 1.0.2-beta1. Проблема вызвана тем, что OpenSSL принимает сообщения ChangeCipherSpec (CCS) вне ненадлежащей стадии установки соединения. Метод проведения атаки достаточно сложен и требует подстановки ChangeCipherSpec-сообщения в момент установки соединения. Популярные браузеры (IE, Firefox, Chrome, Safari) не подвержены проблеме, так как в них не используется OpenSSL.
Помимо MITM-уязвимости, в новых выпусках устранена уязвимость в коде обработки фрагментов DTLS (CVE-2014–0195), которая потенциально может быть использована для организации выполнения кода на стороне сервера или клиента через отправку специально оформленных DTLS-фрагментов. Проблеме подвержены только приложения, использующие OpenSSL в качестве DTLS клиента или сервера.
Кроме того, в новых выпусках устранено несколько менее существенных уязвимостей:
CVE-2014–0221 — возможность совершения DoS-атаки (крах процесса) через возврат пытающемуся соединиться клиенту специально оформленных DTLS-пакетов. Проблема затрагивает только клиентские приложения, использующие DTLS; CVE-2014–0198 — ошибка в функции do_ssl3_write, позволяет удалённому атакующему вызвать отказ в обслуживании через инициирование разыменования NULL-указателя. Проблема затрагивает только OpenSSL 1.0.0 и 1.0.1 с включенной опцией SSL_MODE_RELEASE_BUFFERS, которая не используется по умолчанию; CVE-2010–5298 — условия гонки в функции ssl3_read_bytes позволяют удалённому атакующему добиться подстановки своих данных в рамках сеанса или вызвать отказ в обслуживании. Проблема проявляется только в многопоточных приложениях, использующих OpenSSL 1.0.0 и 1.0.1 с включенной опцией SSL_MODE_RELEASE_BUFFERS, которая не используется по умолчанию; CVE-2014–3470 — TLS-клиенты, использующие анонимный набор шифров ECDH, могут быть подвежены DoS-атаке. CVE-2014–0076 — техника атаки по восстановлению параметров ECDSA через атаку по сторонним каналам (восстановление данных из кэша при помощи техники FLUSH+RELOAD). Проблема ранее была исправлена в выпуске OpenSSL 1.0.1g, а теперь устранена и в версиях OpenSSL 1.0.0m и OpenSSL 0.9.8za. На момент написания новости обновления пакетов с устранением уязвимостей доступны для FreeBSD, Ubuntu, CentOS, RHEL, SUSE Enterprise Linux. Пока недоступны обновления для openSUSE, Debian, Fedora, Gentoo, Slackware, NetBSD, OpenBSD.
© OpenNet