Срива в OpenBSD, DragonFly BSD и Electron поради остаряване на коренния сертификат IdenTrust

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

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

Като обходно решение за отстраняване на проблема, се предлага да се премахне сертификатът "DST Root CA X3" от системното хранилище (/:etc:/ca-certificates.conf и /etc/ssl/certs), след което да се изпълни командата "update-ca-certificates -f -v". В CentOS и RHEL може да се добави сертификатът "DST Root CA X3" в черния списък: trust dump —filter "pkcs11:id=" | 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, един от кореновите сертификати в веригата за доверие е с изтекъл срок. Препоръчва се като обходно решение да се премине от HTTPS на HTTP в /etc/installurl (това не застрашава сигурността, тъй като актуализациите се проверяват допълнително чрез цифрова подписка) или да се избере алтернативно огледало (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 за потребителите, които своевременно не са инсталирали актуализации (поправка gnutls28-3.5.8-5+deb9u6 беше предложена на 17 септември). Като обходно решение на проблема е препоръчано да се премахне 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.
  • Проблем с проверката на сертификатите в Cisco Umbrella Secure Web Gateway.
  • Проблеми с свързването към прокси Bluecoat и Palo Alto.
  • В OVHcloud възникнаха проблеми с свързването към OpenStack API.
  • Проблеми с генерирането на отчети в Shopify.
  • Наблюдават се проблеми при достъпа до API на Heroku.
  • Сбой в работата на Ledger Live Manager.
  • Грешка при проверката на сертификата в инструментите за разработка на приложения за Facebook.
  • Проблеми в Sophos SG UTM.
  • Проблеми с проверката на сертификатите в cPanel.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster