Серйозна вразливість OpenSSL у розширенні TLS Heartbeat (CVE-2014-0160)

Опублікував hone and zzak 10-04-2014
Переклав: Andrii Furmanets

Є серйозна вразливість у реалізації OpenSSL розширення TLS/DTLS (протоколів безпеки транспортного рівня) heartbeat (RFC6520). Це серйозна вразливість, якій присвоєно ідентифікатор CVE CVE-2014-0160.

Експлуатація може призвести до розкриття вмісту пам’яті з сервера до клієнта та з клієнта до сервера. Зловмисник може віддалено отримати чутливі дані з пам’яті, включаючи, але не обмежуючись секретними ключами, використаними для шифрування SSL та токенами аутентифікації.

Для більше інформації про атаки див. heartbleed.com.

Як Ruby зачеплений?

Ruby зачеплений, коли статично скомпільований проти вразливої версії OpenSSL через стандартну бібліотеку розширення OpenSSL C.

Версії OpenSSL 1.0.1 через 1.0.1f (включно) вразливі до цієї атаки. Щоб перевірити, яку версію бібліотеки OpenSSL ви пов’язуєте з 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, використовуйте наступне:

ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION'

Ви можете перевірити, чи ваш клієнтський додаток або запущений сервіс вразливі , використовуючи скрипт emboss.

Рішення

Щоб оновитися до останньої версії OpenSSL версії 1.0.1g або новішої, ви повинні перевірити з вашим поточним менеджером пакетів операційної системи, щоб переконатися , що вони надають актуальний OpenSSL. Вам може знадобитися проконсультуватися з вашим дистриб’ютором операційної системи, щоб перевірити, що їхня версія OpenSSL виправлена, незалежно від доступного номера версії.

Якщо оновлення не є опцією, перекомпілюйте виправлений OpenSSL з опцією -DOPENSSL_NO_HEARTBEATS під час збірки.

З оновленим OpenSSL, рекомендується перекомпілювати Ruby, щоб переконатися , що немає посилань на вразливу версію OpenSSL.

Це означає оновлення будь-яких інструментів, використаних для збірки Ruby, таких як RVM або ruby-build. Якщо ви збираєте Ruby самостійно, використовуйте опцію --with-openssl-dir під час компіляції, щоб пов’язати оновлену директорію встановлення OpenSSL.

$ ./configure --with-openssl-dir=/path/to/openssl
$ make
$ make install

Після оновлення OpenSSL та Ruby, важливо перезапустити всі програми , які використовують вразливу версію.

Багато дистриб’юторів операційних систем вже надають (або незабаром надаватимуть) виправлені версії та перебудовані пакети для бібліотек, вразливих до цієї атаки. Важливо моніторити вашого дистриб’ютора операційної системи, щоб переконатися, що ви залишаєтеся безпечними.

Останні новини

Вийшов 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 — новій темі за замовчуванням для...

Опублікував Stan Lo 23-12-2025

Більше новин...