В OpenSSL и LibreSSL устранены опасные уязвимости

В OpenSSL и LibreSSL устранены опасные уязвимости

В OpenSSL и LibreSSL устранены опасные уязвимости

Доступны корректирующие выпуски OpenSSL 1.0.1t и 1.0.2h, в которых отмечено 6 уязвимостей, из которых опасность двух проблем оценена как высокая. Уязвимости также затрагивают LibreSSL, исправления для которого пока доступны в виде патча. В BoringSSL такжеустранены данные уязвимости.

Первая опасная уязвимость (CVE-2016-2108) проявляется только при наличии ошибки, которая была исправлена ещё в июне 2015 года в OpenSSL 1.0.2b, 1.0.1n и 1.0.0s. Несмотря на то, что проблема актуальна только для старых необновлённых версий, она затрагивает и пакеты в дистрибутивах, основанных на старых выпусках OpenSSL. В том числе уязвимости подвержены пакеты с openssl в Debian,RHEL/CentOS/Fedora, Ubuntu и SUSE, в которые исправление не было перенесено, так как оно было квалифицировано как устранение ошибки, а не уязвимости. Уязвимость приводит к возможности повреждения памяти кодировщика ASN.1 и записи данных вне границ буфера, что теоретически может быть использовано для организации исполнения кода злоумышленника при проверке, разборе и перекодировании специально оформленных сертификатов X509, пишет opennet.ru.

Вторая опасная уязвимость (CVE-2016-2107) позволяет организовать MITM-атаку по дешифровке защищённых соединений, в которых используется шифр AES CBC, если сервер поддерживает AES-NI. Уязвимость была внесена вместе с исправлением для блокирования атак CVE-2013-0169 по анализу добавочного заполнения (padding oracle). Проблема возникла из-за потери проверки размера данных, необходимого для MAC и добавочного заполнения.

Из неопасных уязвимостей (CVE-2016-2105, CVE-2016-2106) отмечаются переполнения буфера при кодировании очень больших блоков в функциях EVP_EncodeUpdate() и EVP_EncryptUpdate(). Так как данные функции используются для внутренних целей в инструментарии командной строки, то эксплуатация уязвимостей отмечена как маловероятная из-за наличия в утилитах дополнительных проверок размера передаваемых данных, блокирующих атаку.

Проблема CVE-2016-2109 связана с возможностью осуществления отказа в обслуживании через израсходование всей доступной процессу памяти при обработке определённых данных ASN.1 в функциях BIO.

Уязвимость CVE-2016-2176 позволяет вернуть в буфере произвольные данные из стека при обработке строк ASN1 длинее 1024 байтов в функции X509_NAME_oneline() на системах EBCDIC. 

В Linux нашли 19-летнюю дыру: атакующий может добраться до root

В Linux обнаружили новую уязвимость повышения привилегий, получившую имя CIFSwitch. При удачном раскладе обычный локальный пользователь может обмануть механизм CIFS-аутентификации, подсовывать ядру фальшивые запросы и в итоге получить root. Проблема затрагивает системы с уязвимыми связками kernel CIFS и cifs-utils, в первую очередь версии 6.14 и выше.

CIFS нужен Linux для работы с сетевыми шарами: монтировать удалённые папки, читать и писать файлы по сети. Если такая шара использует Kerberos-аутентификацию, ядро Linux обращается к пользовательскому приложению, а cifs-utils выступает посредником.

По словам исследователя Асима Вилади Оглу Манизады, который нашёл и назвал CIFSwitch, ядро запрашивает ключ типа cifs.spnego, после чего стандартная связка keyutils/request-key запускает cifs.upcall от root, чтобы получить или собрать материалы Kerberos/SPNEGO.

Беда в том, что CIFS-подсистема ядра не проверяла, что такие cifs.spnego-запросы действительно пришли от CIFS-клиента ядра. В результате непривилегированный пользователь мог сгенерировать поддельный запрос и запустить штатный процесс аутентификации.

А дальше привилегированный cifs.upcall доверяет полям, которые считает созданными ядром, хотя на деле ими управляет атакующий. Через эти поля можно форсировать переключение namespace, спровоцировать NSS-запрос до сброса привилегий, подгрузить вредоносный NSS-модуль и получить выполнение кода от root.

Манизада отмечает, что баг появился ещё в 2007 году, то есть прожил в экосистеме около 19 лет. При этом эксплуатация не универсальна: нужны подходящая версия ядра, уязвимый cifs-utils, доступные пространства имен пользователей и политики SELinux/AppArmor, которые не ломают атаку на взлёте.

Среди уязвимых систем, в дефолтных конфигурациях эксперт называет:

  • Linux Mint 21.3 / 22.3;
  • CentOS Stream 9;
  • Rocky Linux 9;
  • AlmaLinux 9;
  • Kali Linux 2021.4–2026.1;
  • SLES 15 SP7.

Уязвимость уже закрыта патчем для ядра, он добавляет проверку происхождения запросов cifs.spnego. Однако конкретные версии ядра с патчем зависят от дистрибутива, так что администраторам лучше не гадать, а проверять бюллетени своих вендоров.

RSS: Новости на портале Anti-Malware.ru