Серьезная уязвимость в OpenSSL в расширении TLS Heartbeat (CVE-2014-0160)
Опубликовал hone and zzak 10-04-2014
Перевел: Vlad Bokov
В реализации OpenSSL обнаружена серьезная уязвимость в расширении heartbeat (RFC6520)
TLS/DTLS (протоколов защиты транспортного уровня). Этой уязвимости присвоен номер
CVE-2014-0160.
Использование эксплоита может привести к раскрытию содержимого при передаче как от сервера на клиент, так и в обратном направлении. Атакующий может удаленно получить необходимые данные из памяти, включая (но не ограничиваясь) секретные ключи для шифрования SSL и токены авторизации.
Дальнейшую информацию об атаках можно прочитать на heartbleed.com.
При чем тут Ruby?
Ruby подвержен атаке через C extension, если собран с уязвимой версией OpenSSL.
Уязвимы версии OpenSSL 1.0.1 - 1.0.1f (включительно). Проверить версию, с которой слинкован Ruby можно так:
ruby -v -ropenssl -rfiddle -e 'puts Fiddle::Function.new(Fiddle.dlopen(nil)["SSLeay_version"], [Fiddle::TYPE_INT], Fiddle::TYPE_VOIDP).call(0)'Проверить текущую установленную версию OpenSSL можно так:
ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'Так же можно использовать этот скрипт для проверки на узявимость приложений и сервисов.
Что делать?
Во-первых, проверить, доступна ли версия 1.0.1g или новее,
или убедиться, что текущая версия пропатчена.
Если обновиться - не вариант, можно пересобрать OpenSSL с опцией -DOPENSSL_NO_HEARTBEATS.
Также рекомендуется пересобрать Ruby с обновленной версией OpenSSL.
Это также значит, что стоит обновить средства сборки: RVM или ruby-build,
а если вы собирали Ruby вручную - использовать опцию сборки --with-openssl-dir.
$ ./configure --with-openssl-dir=/путь/к/openssl
$ make
$ make installПосле обновления не забудьте перезапустить все, что использовало уязвимую версию.
Многие дистрибутивы уже предоставили (или скоро предоставят) пропатченную версию пакетов для уязвимых библиотек - так что следите за их новостями, чтобы не быть взломаными.
Последние новости
Вышел Ruby 3.2.10
Вышел Ruby 3.2.10.
Опубликовал hsbt 14-01-2026
Вышел Ruby 4.0.1
Вышел Ruby 4.0.1.
Опубликовал k0kubun 13-01-2026
Вышел Ruby 4.0.0
Мы рады сообщить о выпуске Ruby 4.0.0. Ruby 4.0 представляет «Ruby Box» и «ZJIT», а также добавляет множество улучшений.
Опубликовал naruse 25-12-2025
Новый облик документации Ruby
Вслед за редизайном ruby-lang.org, у нас есть еще новости в честь 30-летия Ruby: docs.ruby-lang.org получил полностью новый облик с Aliki — новым стандартным шаблоном RDoc....
Опубликовал Stan Lo 23-12-2025