由于 IdenTrust 根证书过期,OpenBSD、DragonFly BSD 和 Electron 崩溃

用于对 Let's Encrypt CA 根证书进行交叉签名的 IdenTrust 根证书 (DST Root CA X3) 的弃用导致使用旧版本 OpenSSL 和 GnuTLS 的项目中的 Let's Encrypt 证书验证出现问题。 问题还影响到 LibreSSL 库,该库的开发人员没有考虑到 Sectigo (Comodo) 证书颁发机构的 AddTrust 根证书过时后出现的故障相关的过去经验。

让我们回想一下,在 OpenSSL 分支 1.0.2 之前的版本以及版本 3.6.14 之前的 GnuTLS 中,存在一个错误,如果用于签名的根证书之一已过时,则不允许正确处理交叉签名证书,即使其他有效的证书保留了信任链(在 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-证书-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 | OpenSSL X3 sudo tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-XXNUMX.pem sudo update-ca-trust 提取

我们看到的一些崩溃是在 IdenTrust 根证书过期后发生的:

  • 在 OpenBSD 中,用于安装二进制系统更新的 syspatch 实用程序已停止工作。 OpenBSD 项目今天紧急发布了分支 6.8 和 6.9 的补丁,修复了 LibreSSL 中检查交叉签名证书的问题,其中信任链中的根证书之一已过期。 作为该问题的解决方法,建议在 /etc/installurl 中从 HTTPS 切换到 HTTP(这不会威胁安全,因为更新还会通过数字签名进行验证)或选择替代镜像 (ftp.usa.openbsd. org、ftp.hostserver.de、cdn.openbsd.org)。 您还可以从 /etc/ssl/cert.pem 文件中删除过期的 DST Root CA X3 根证书。
  • 在 DragonFly BSD 中,使用 DPort 时也会出现类似的问题。 启动pkg包管理器时,出现证书验证错误。 该修复今天已添加到主分支、DragonFly_RELEASE_6_0 和 DragonFly_RELEASE_5_8 分支。 作为解决方法,您可以删除 DST 根 CA X3 证书。
  • 基于 Electron 平台的应用程序中验证 Let's Encrypt 证书的过程被破坏。 该问题已在更新 12.2.1、13.5.1、14.1.0、15.1.0 中修复。
  • 使用与旧版本 GnuTLS 库关联的 APT 包管理器时,某些发行版在访问包存储库时会出现问题。 Debian 9 受到该问题的影响,该版本使用了未打补丁的 GnuTLS 软件包,导致没有及时安装更新的用户访问 deb.debian.org 时出现问题(提供了 gnutls28-3.5.8-5+deb9u6 修复) 17 月 3 日)。 作为解决方法,建议从 /etc/ca-certificates.conf 文件中删除 DST_Root_CA_XXNUMX.crt。
  • 用于创建 OPNsense 防火墙的分发包中的 acme-client 运行受到干扰;该问题已提前报告,但开发人员未能及时发布补丁。
  • 该问题影响了 RHEL/CentOS 1.0.2 中的 OpenSSL 7k 软件包,但一周前为 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 服务时出现问题。
  • 尝试与 MailGun 服务的 Web API 建立 TLS 连接失败。
  • macOS 和 iOS 版本(11、13、14)发生崩溃,理论上不应受到该问题的影响。
  • 捕获点服务失败。
  • 访问 PostMan API 时验证证书时出错。
  • 守护者防火墙崩溃了。
  • monday.com 支持页面已损坏。
  • Cerb 平台崩溃了。
  • Google Cloud Monitoring 中的正常运行时间检查失败。
  • Cisco Umbrella Secure Web Gateway 中的证书验证问题。
  • 连接到 Bluecoat 和帕洛阿尔托代理时出现问题。
  • OVHcloud 连接到 OpenStack API 时遇到问题。
  • 在 Shopify 中生成报告时出现问题。
  • 访问 Heroku API 时出现问题。
  • Ledger Live Manager 崩溃。
  • Facebook 应用程序开发人员工具中的证书验证错误。
  • Sophos SG UTM 中的问题。
  • cPanel 中的证书验证问题。

来源: opennet.ru

添加评论