Опубликовал 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 можно так:
Проверить текущую установленную версию OpenSSL можно так:
Так же можно использовать этот скрипт для проверки на узявимость приложений и сервисов.
Что делать?
Во-первых, проверить, доступна ли версия 1.0.1g
или новее,
или убедиться, что текущая версия пропатчена.
Если обновиться - не вариант, можно пересобрать OpenSSL с опцией -DOPENSSL_NO_HEARTBEATS
.
Также рекомендуется пересобрать Ruby с обновленной версией OpenSSL.
Это также значит, что стоит обновить средства сборки: RVM или ruby-build,
а если вы собирали Ruby вручную - использовать опцию сборки --with-openssl-dir
.
После обновления не забудьте перезапустить все, что использовало уязвимую версию.
Многие дистрибутивы уже предоставили (или скоро предоставят) пропатченную версию пакетов для уязвимых библиотек - так что следите за их новостями, чтобы не быть взломаными.