Сбои в OpenBSD, DragonFly BSD и Electron из-за устаревания корневого сертификата IdenTrust

Прекращение действия корневого сертификата компании IdenTrust (DST Root CA X3), используемого для кросс-подписи корневого сертификата удостоверяющего центра Let’s Encrypt, привело к возникновению проблем с проверкой сертификатов Let’s Encrypt в проектах, использующих старые версии OpenSSL и GnuTLS. Проблемы также затронули библиотеку LibreSSL, разработчики которой не учли прошлый опыт, связанный со сбоями, возникшими после устаревания корневого сертификата AddTrust удостоверяющего центра Sectigo (Comodo).

Напомним, что в выпусках OpenSSL до ветки 1.0.2 включительно и в GnuTLS до выпуска 3.6.14, присутствовала ошибка, не позволявшая корректно обработать перекрёстно-подписанные сертификаты, в случае устаревания одного из корневых сертификатов, задействованных при подписи, даже если сохранялись другие действующие цепочки доверия (в случае Let’s Encrypt устаревание корневого сертификата IdenTrust не позволяет выполнить проверку, даже если в системе имеется поддержка собственного корневого сертификата Let’s Encrypt, действующего до 2030 года). Суть ошибки в том, что старые версии OpenSSL и GnuTLS разбирали сертификат как линейную цепочку, в то время как в соответствии с RFC 4158 сертификат может представлять ориентированный распределённый циклический граф с несколькими якорями доверия, которые нужно учитывать.

В качестве обходного пути устранения сбоя предлагается удалить из системного хранилища (/etc/ca-certificates.conf и /etc/ssl/certs) сертификат «DST Root CA X3», после чего запустить команду «update-ca-certificates -f -v»). В CentOS и RHEL можно добавить добавить сертификат «DST Root CA X3» в чёрный список:

   trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | sudo tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem
   sudo update-ca-trust extract

Некоторые из попавшихся, а глаза сбоев, возникших после прекращения действия корневого сертификата IdenTrust:

  • В OpenBSD перестала работать утилита syspatch, применяемая для установки бинарных обновлений системы. Проект OpenBSD выпустил патчи для веток 6.8 и 6.9, устраняющие в LibreSSL проблемы с проверкой перекрёстно подписанных сертификатов, один из корневых сертификатов в цепочке доверия у которых просрочен. В качестве обходного решения проблемы рекомендовано в /etc/installurl переключиться с HTTPS на HTTP (пакеты дополнительно верифицируются по цифровой подписи) или выбрать альтернативное зеркало (ftp.usa.openbsd.org, ftp.hostserver.de, cdn.openbsd.org). Также можно удалить просроченный корневой сертификат DST Root CA X3 из файла /etc/ssl/cert.pem.

  • В DragonFly BSD аналогичные проблемы наблюдаются при работе с DPorts. При запуске пакетного менеджера pkg выдаётся ошибка проверки сертификата. Исправление добавлено в ветки master, DragonFly_RELEASE_6_0 и DragonFly_RELEASE_5_8. В качестве обходного пути можно удалить сертификат DST Root CA X3.

  • Нарушен процесс проверки сертификатов Let’s Encrypt в приложениях на базе платформы Electron. Проблема устранена в обновлениях 12.2.1, 13.5.1, 14.1.0, 15.1.0.

  • В некоторых дистрибутивах наблюдаются проблемы с доступом к репозиториям пакетов при использовании пакетного менеджера APT, связанного со старыми версиями библиотеки GnuTLS. Проблеме оказался подвержен Debian 9, в котором применялся неисправленный пакет GnuTLS, что привело к проблемам при обращении к deb.debian.org. В качестве обходного пути решения проблеме рекомендовано удалить DST_Root_CA_X3.crt из файла /etc/ca-certificates.conf.

  • Нарушена работа acme-client в дистрибутиве для создания межсетевых экранов OPNsense, о проблеме было сообщено заранее, но разработчики не успели вовремя выпустить патч.

  • Проблема затрагивала пакет OpenSSL 1.0.2k в RHEL/CentOS 7. Неделю назад для RHEL 7 и CentOS 7 было сформировано обновление пакета ca-certificates-2021.2.50–72.el7_9.noarch, из которого удалён сертификат IdenTrust. Аналогичное обновление заранее было опубликовано для Ubuntu 16.04, Ubuntu 14.04, Ubuntu 21.04, Ubuntu 20.04 и Ubuntu 18.04. Проблема с проверкой сертификатов Let’s Encrypt может коснуться пользователей RHEL/CentOS и Ubuntu, устанавливающих обновления не регулярно.

  • Нарушен процесс проверки сертификатов в grpc.

  • Сбой при сборке платформы Cloudflare Pages.
  • Проблемы в Amazon Web Services (AWS).
  • Проблемы с подсоединением к БД у пользователей DigitalOcean.

  • Сбой в работе облачной платформы Netlify.

  • Проблемы с доступом к сервисам Xero.

  • Сбой при попытке установить TLS-соединение к Web API сервиса MailGun.
  • Сбои в версиях macOS и iOS (11, 13, 14), которые теоретические проблема не должна была затронуть.

  • Сбой в сервисах Catchpoint.
  • Ошибка проверки сертификатов при доступе к API PostMan.

  • Сбой в работе Guardian Firewall.
  • Нарушение работы страницы поддержки monday.com.

  • Сбой в работе платформы Cerb.

  • Сбой при проверки uptime в Google Cloud Monitoring.

  • В OVHcloud возникли проблемы с подключением к OpenStack API.

  • Проблемы с генерацией отчётов в Shopify.
  • Наблюдаются проблемы при обращении к API Heroku.
  • Сбой в работе Ledger Live Manager.

  • Ошибка проверки сертификата в инструментах для разработчиков приложений для Facebook.

  • Проблемы в Sophos SG UTM.
  • Проблемы с проверкой сертификатов в cPanel.



Источник: http://www.opennet.ru/opennews/art.shtml? num=55897

©  OpenNet