Критическая уязвимость в OpenSSL 1.0.1 и 1.0.2-beta
Уязвимость связана с отсутствием необходимой проверки границ в одной из процедур расширения Heartbeat (RFC6520) для протокола TLS/DTLS. Из-за этой ошибки кто угодно получает прямой доступ к оперативной памяти компьютеров, чьи коммуникации «защищены» уязвимой версией OpenSSL. В том числе, злоумышленник получает доступ к секретным ключам, именам и паролям пользователей и всему контенту, который должен передаваться в зашифрованном виде. При этом не остается никаких следов проникновения в систему.
OpenSSL версии ниже 1.0.1 не подвержен уязвимости. Некоторые дистрибутивы операционных систем с уязвимой версией OpenSSL:
- Debian Wheezy (стабильная), OpenSSL 1.0.1e-2+deb7u4)
- Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11)
- CentOS 6.5, OpenSSL 1.0.1e-15)
- Fedora 18, OpenSSL 1.0.1e-4
- OpenBSD 5.3 (OpenSSL 1.0.1c) и 5.4 (OpenSSL 1.0.1c)
- FreeBSD 8.4 (OpenSSL 1.0.1e) и 9.1 (OpenSSL 1.0.1c)
- NetBSD 5.0.2 (OpenSSL 1.0.1e)
- OpenSUSE 12.2 (OpenSSL 1.0.1c)
Баг присутствует во всех версиях веток OpenSSL 1.0.1 и 1.0.2-beta, включая 1.0.1f и 1.0.2-beta1. Исправленная версия — 1.0.1g, которую необходимо установить, после чего сгенерировать новые ключи и сертификаты и предпринять прочие меры безопасности. Пользователей следует предупредить о возможной утечке их паролей.
Для проверки установленной версии OpenSSL можно использовать команды:
- Debian/Ubuntu:
# проверка версии установленного ПО dpkg -l | grep openssl # установка всех доступных обновлений apt-get update && apt-get upgrade
- CentOS/Oracle Linux:
# проверка версии установленного ПО rpm -qa | grep openssl # установка всех доступных обновлений yum update
После установки необходимо перезапустить все сервисы использующие OpenSSL или просто перезагрузить сервер.