Прекращение действия корневого сертификата компании 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.