10 月 26 日に、eMudhra の中間証明書 8 枚の秘密鍵が直接計算できてしまう問題をお伝えしました。その後の 2 週間で、サイト運営者に関わる動きがいくつかありました。Chrome は 10 月 27 日に emSign ECC Root CA - G3 をルートストアから削除し、11 月 4 日には別のルート emSign Root CA - G1 の制限を発表しました。Cloudflare は 10 月 30 日に悪用と修正の状況を公表し、Debian は 10 月 31 日に NSS から eMudhra のルート 3 つを削除、Ubuntu は 11 月 5 日にシステムの証明書ストアからの削除が Java のキーストアに反映されていなかったことを明らかにしました。
Cloudflare が観測したこと
- 8 つの鍵はどれほど弱かったのか。Cloudflare のたとえでは、本来 115 桁の数であるべきところ、1 つは実際には 4 で、残りは 56、66、115、155、156、230、237 でした。誰でも公開されている証明書からこれらを計算し、任意のドメインの証明書を発行でき、パッチ未適用で証明書の透明性(Certificate Transparency)を強制しないクライアントはそれを受け入れてしまいます。
- Cloudflare は外向きの接続にログ記録を追加し(10 月 21 日に展開完了)、1 週間でこれらの弱い鍵を使った TLS ハンドシェイクを約 22,000 回観測しました。3 分の 2 はテストサイトへのアクセスで、残りのほとんどは、オリジンサーバーが弱い中間証明書で自分用の証明書を発行したとみられるものでした。約 160 回のハンドシェイクでは他の組織のドメイン名が書かれた証明書が使われ、一部は一般消費者向け IoT 機器に関係するものでした。偽造証明書の 1 枚は 10 月 20 日 18:19 UTC の日付で、Mozilla のバグ報告が公開されてから 1 時間もたっていませんでした。Cloudflare は、これまでのところこれらの鍵で自社の接続が傍受された証拠はないとしています。
- 修正の進み具合は芳しくありません。約 5,000 万回のプローブで、最新のブラウザーはほぼ修正済みでしたが、ボットや古いブラウザーは未修正でした。Android WebView のような組み込みブラウザーは、なお 30〜40% がこの侵害された証明書チェーンを受け入れ、大規模ネットワーク全体では半数を超えるプローブが受け入れたままで、最初の週末以降はほとんど改善していません。
ブラウザーとディストリビューションのその後の対応
- Chrome:CRLSet の更新を取り込まない Chrome ルートストアの利用者を守るため、Google は問題の中間証明書に署名したルート emSign ECC Root CA - G3 をルートストアから削除しました。この変更は 10 月 27 日(太平洋時間)の朝にすべての端末に届く見込みとされました。Google は、G3 につながる証明書を使うサイトはただちに新しい証明書を取得して入れ替える必要があるとしています。
- Chrome の 11 月 4 日の更新:emSign Root CA - G1 につながる TLS サーバー証明書のうち、最も古い署名付き証明書タイムスタンプ(SCT)が 2026 年 11 月 16 日 23:59:59 UTC より後のものは、Chrome 153 以降で既定では信頼されなくなります。それ以前に発行されたものは影響を受けません。
- Java:Ubuntu の USN-9001-1 によると、ca-certificates の Java 連携が機能しておらず、システムのバンドルから削除された CA が JKS キーストアからは削除されていませんでした。つまり Java のアプリケーションはまだ eMudhra を信頼している可能性があります。修正版は、22.04 が ca-certificates
20260816ubuntu0.22.04.2と ca-certificates-java20190909ubuntu1.4、24.04 が20260816ubuntu0.24.04.2と20240118ubuntu0.24.04.1、26.04 が20260816ubuntu0.26.04.2と20260311ubuntu0.26.04.1です。反映させるには、その後 Tomcat、Jenkins、Elasticsearch などの Java サービスを再起動してください。 - NSS:Debian の DSA-6599-1 は、nss から「eMudhra emSign Root CA - G3」「eMudhra emSign Root CA - C1」「emSign ECC Root CA - C3」の 3 つのルートを削除します。Debian 13 の修正版は
2:3.110-1+deb13u5です。NSS で証明書を検証するプログラム(Firefox や Thunderbird など)はこのパッケージに依存しています。
独自の証明書バンドルを持つプログラムも忘れずに
多くのプログラムはシステムのストアを読まず、独自のバンドルを持っています。10 月 28 日の WordPress 7.1.4 は同梱のルート証明書を更新しました(こちらの記事を参照)。Python の certifi と Go のプログラムについては記事 85 で取り上げました。Cloudflare の助言は変わりません。更新したら必ずテストし、出てきたエラーを証明書検証の無効化で「解決」してはいけません。証明書の透明性の監視がなぜ重要かはレジストリ乗っ取り事件の記事を、自分のサイトの証明書の発行と更新はLet's Encrypt SSL の設定を参照してください。