IdenTrust ルート証明書の有効期限切れにより、OpenBSD、DragonFly BSD、および Electron がクラッシュする

Let's Encrypt CA ルート証明書の相互署名に使用される IdenTrust ルート証明書 (DST Root CA X3) の廃止により、古いバージョンの OpenSSL および GnuTLS を使用するプロジェクトで Let's Encrypt 証明書の検証に問題が発生しました。 LibreSSL ライブラリにも問題が影響しており、このライブラリの開発者は、Sectigo (Comodo) CA の AddTrust ルート証明書が廃止された後に発生した障害に関連する過去の経験を考慮していませんでした。

ブランチ 1.0.2 までの OpenSSL リリースとリリース 3.6.14 より前の GnuTLS には、署名に使用されたルート証明書の 2030 つが古くなると、相互署名証明書を正しく処理できないバグがあったことを思い出してください。たとえ他の有効な証明書が信頼チェーンとして保存されていたとしても (Let's Encrypt の場合、システムが Let's Encrypt 独自のルート証明書をサポートしていても、IdenTrust ルート証明書が廃止されると検証できなくなります (4158 年まで有効))。 バグの要点は、OpenSSL と GnuTLS の古いバージョンでは証明書が線形チェーンとして解析されるのに対し、RFC XNUMX によれば、証明書は考慮する必要がある複数のトラスト アンカーを含む有向分散循環グラフを表すことができるということです。

この障害を解決する回避策として、システム ストレージ (/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 つが期限切れになっている、相互署名証明書のチェックに関する LibreSSL の問題を修正するブランチ 6.9 および 3 用のパッチを緊急リリースしました。 この問題の回避策として、/etc/installurl で HTTPS から HTTP に切り替えるか (更新はデジタル署名によってさらに検証されるため、セキュリティが脅かされることはありません)、または代替ミラー (ftp.usa.openbsd. org、ftp.hostserver.de、cdn.openbsd.org)。 期限切れの DST ルート CA XXNUMX ルート証明書を /etc/ssl/cert.pem ファイルから削除することもできます。
  • 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 パッケージに影響しましたが、7 週間前に RHEL 7 および CentOS 2021.2.50 用の ca-certificates-72-7.el9_16.04.noarch パッケージの更新が生成されました。証明書が削除されました。つまり、 問題の発現は事前にブロックされました。 同様のアップデートが 14.04 週間前に Ubuntu 21.04、Ubuntu 20.04、Ubuntu 18.04、Ubuntu XNUMX、および Ubuntu XNUMX に対して公開されました。 アップデートは事前にリリースされていたため、Let's Encrypt 証明書のチェックに関する問題は、定期的にアップデートをインストールしない RHEL/CentOS および Ubuntu の古いブランチのユーザーのみに影響を及ぼしました。
  • grpc の証明書検証プロセスが壊れています。
  • Cloudflare Pages プラットフォームのビルドに失敗しました。
  • アマゾン ウェブ サービス (AWS) の問題。
  • DigitalOcean ユーザーはデータベースへの接続に問題があります。
  • Netlify クラウド プラットフォームがクラッシュしました。
  • Xero サービスへのアクセスに関する問題。
  • MailGun サービスの Web API への TLS 接続を確立しようとして失敗しました。
  • 理論的にはこの問題の影響を受けないはずの macOS および iOS のバージョン (11、13、14) でクラッシュします。
  • キャッチポイント サービスが失敗しました。
  • PostMan API へのアクセス時に証明書の検証中にエラーが発生しました。
  • Guardian ファイアウォールがクラッシュしました。
  • monday.com のサポート ページが壊れています。
  • Cerb プラットフォームがクラッシュしました。
  • Google Cloud Monitoring で稼働時間チェックに失敗しました。
  • Cisco Umbrella セキュア Web ゲートウェイの証明書検証に関する問題。
  • Bluecoat および Palo Alto プロキシへの接続の問題。
  • OVHcloud で OpenStack API への接続に問題が発生しています。
  • Shopify でのレポート生成に関する問題。
  • Heroku API へのアクセスに問題があります。
  • Ledger Live Managerがクラッシュします。
  • Facebook アプリ開発者ツールでの証明書検証エラー。
  • Sophos SG UTM の問題。
  • cPanel での証明書の検証に関する問題。

出所: オープンネット.ru

コメントを追加します