Опубликованы корректирующие выпуски OpenSSL 1.0.1h, 1.0.0m и 0.9.8za, в которых устранена опасная уязвимость (CVE-2014-0224), позволяющая совершить MITM-атаку, которая может привести к расшифровке и модификации на транзитном шлюзе проходящего в рамках защищённого SSL/TLS-соединения трафика.

Информация об уязвимости была направлена команде разработчиков OpenSSL исследователем безопасности Масаси Кикути (Masashi Kikuchi) из Lepidum Co. Ltd, выявившем наличие проблемы. До выхода исправления сведения об уязвимости не разглашались публично. По мнению Кикути уязвимость присутствует в коде с самых первых выпусков OpenSSL и оставалась незамеченной из-за недостаточно полного рецензирования и аудита кода проекта экспертами, досконально разбирающимися в реализации TLS/SSL.

Атака может быть успешно проведена только при использовании уязвимой версии OpenSSL одновременно на стороне сервера и клиента, между которыми организован канал связи. Уязвимость в клиентской части присутствует во всех версиях OpenSSL, в то время как на сервере уязвимость проявляется только при использовании веток OpenSSL 1.0.1 и 1.0.2-beta1. Проблема вызвана тем, что OpenSSL принимает сообщения ChangeCipherSpec (CCS) вне ненадлежащей стадии установки соединения. Метод проведения атаки достаточно сложен и требует подстановки ChangeCipherSpec-сообщений клиенту и серверу в определённые моменты установки соединения, что приводит к использованию пустого предварительного главного ключа (pre master secret key) и созданию сеансовых ключей на её основе. Популярные браузеры (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, CRUX, Fedora, Debian, openSUSE, Slackware. Пока недоступны обновления для Gentoo, NetBSD, OpenBSD.

Дополнение 1: В кодовой базе LibreSSL проблемы с SSL_MODE_RELEASE_BUFFERS были ранее устранены разработчиками, в то время как возможность MITM-атаки (CVE-2014-0224) скорее всего не была бы найдена в рамках проекта LibreSSL.

Дополнение 2: Разработчики OpenBSD и LibreSSL возмущены тем, что их проект проигнорировали при предварительной подготовке исправлений, из-за чего они не смогли оперативно подготовить обновление с устранением уязвимостей. OpenBSD не вошёл в число проектов, заранее получивших приватное уведомление о наличии проблемы. Такое уведомления получили Red Hat, Debian, FreeBSD, AltLinux, Gentoo, Canonical, IBM, Oracle, SUSE, Amazon AMI, NetBSD/pkgsrc и Openwall, что дало им возможность сразу представить обновления пакетов.

Источник: http://www.opennet.ru/opennews/art.shtml?num=39938