Стив Хенсон (Steve Henson) из основной команды OpenSSL идентифицировал несколько уязвимостей в коде разбора ASN1 OpenSSL и подготовил их исправления. Уязвимости были обнаружены при выполнении тестов инструментария, разработанного Британским национальным центром координации инфраструктуры безопасности (British National Infrastructure Security Coordination Centre, NISCC).
Также идентифицирована ошибка в реализации протоколов SSL/TLS, приводящая к тому, что OpenSSL анализирует сертификат клиента SSL/TLS даже в случаях, когда он должен быть отвергнут из-за ошибки протокола.
Проект Common Vulnerabilities and Exposures идентифицировал следующие проблемы:
Выход за границы допустимых целочисленных значений в OpenSSL, позволяющий удалённому нападающему вызвать отказ в обслуживании (обвал) посредством сертификата клиента SSL с определёнными значениями тегов ASN.1.
OpenSSL неправильно отслеживает числа символов в некоторых входных текстах ASN.1, что позволяет удалённому нападающему вызвать отказ в обслуживании (обвал) посредством сертификата клиента SSL, заставляющего OpenSSL пытаться читать информацию за пределами буфера при использовании длинной формы.
Двукратное освобождение памяти позволяет удалённому нападающему вызвать отказ в обслуживании (обвал) и, возможно, выполнить произвольный код посредством сертификата клиента SSL с определённой неправильной кодировкой ASN.1. Эта ошибка присутствует только в OpenSSL 0.9.7 и перечислена здесь только для информации.
В стабильном дистрибутиве (woody) эта проблема исправлена в пакете openssl095 версии 0.9.5a-6.woody.3.
Этот пакет отсутствует в нестабильном (sid) и тестируемом (sarge) дистрибутивах.
Мы рекомендуем вам обновить пакеты libssl095a и перезапустить серверы, использующие эту библиотеку. Debian не содержит пакетов, скомпонованных с этой библиотекой.
Следующие команды (спасибо за предоставленную информацию Рэю Дэссену (Ray Dassen)) позволять получить список запущенных процессов, в адресное пространство которых отображается библиотека libssl095:
find /proc -name maps -exec egrep -l 'libssl095' {} /dev/null \; | sed -e 's/[^0-9]//g' | xargs --no-run-if-empty ps --no-headers -p | sed -e 's/^\+//' -e 's/ \+/ /g' | cut -d ' ' -f 5 | sort | uniq
Вам следует перезапустить соответствующие серверы.
Контрольные суммы MD5 этих файлов доступны в исходном сообщении.