Обнаружена уязвимость во всех версиях OpenSSL ( не включая 0.9.7h и 0.9.8a ). Версии 0.9.7h и 0.9.8a выпущены, чтобы исправить эту уязвимость. Потенциально могут быть затронуты все приложения которые используют реализации SSL/TLS предоставляемые с помощью библиотеки OpenSSL.
Приложения подвержены уязвимости, если они используют опцию SSL_OP_MSIE_SSLV2_RSA_PADDING. Эта опция запрещает шаг верификации в SSL 2.0 сервере. Атакующий, используя атаку типа "man in the middle", может принудить клиента и сервер к согласованию на протоколе SSL 2.0, даже если стороны поддерживают SSL 3.0 или TLS 1.0. Между тем протокол SSL 2.0 известен как слабозащищенный и поддерживаетcz только как запасной.
Приложения не использующие ни SSL_OP_MSIE_SSLV2_RSA_PADDING, ни SSL_OP_ALL не подвержены уязвимости. Приложения которые запрещают использование SSL 2.0 также не подвержены.
Есть несколько способов избежать данной уязвимости.
1. Запретить SSL 2.0 в OpenSSL-приложениях. Протокол SSL 2.0 рекомендуется запретить в любом случае из-за его слабой защищенности.
2. Обновите приложения базирующиеся на OpenSSL. Данной уязвимости не подвержены следующии версии OpenSSL: - версия 0.9.7h (и выше). - версия 0.9.8a (и выше).
Вы можете загрузить исходные коды OpenSSL со следующих сайтов http://www.openssl.org/source/ ftp://ftp.openssl.org/source/
Следующий патч может быть применен к исходному код OpenSSL чтобы разрешить проблему. Патч совместим с ветвями 0.9.6, 0.9.7, 0.9.8 OpenSSL.