Lesstep
GitHub Actions・ランナー・セキュリティ・2026年11月5日に確認

GitHub Actions と eMudhra の中間 CA の鍵の漏れ(CVE-2026-111943):まだ信用しているランナーと、macOS のランナーでの直し方

2026年10月17日、eMudhra の中間 CA の証明書8つの秘密鍵が漏れていたことが示されました(公表のページ)。その鍵を持つ人は、どのホスト名の証明書でも発行できます。ブラウザーと OS 自身の通信は止めています(Firefox と Chrome は10月17日から、Microsoft の製品は10月20日から、Apple の製品は10月22日から)。ところが、curl・git・Python・pip・Node.js・Java のように CA のバンドルのファイルで証明書を確かめる道具は、そのファイルが更新されるまで信用し続けます。GitHub のホストのランナーで依存を取ってきてリリースを送るのはこの道具なので、通信の途中にいる人がパッケージのレジストリや git のリモートになりすませます。

2026年11月5日の時点のイメージごとの状況

ワークフローからの確かめ方

公表のページは、漏れた中間 CA の証明書を使う試しのホストを置いています。証明書のエラーになれば、その道具は信用していません:

- name: Check the eMudhra chains
  shell: bash
  run: |
    for h in dv-g3b-emudhra dv-g3b-aaa-emudhra; do
      if curl -sS -o /dev/null "https://$h.we-have-a-problem.com/"; then
        echo "$h: trusted"
      else
        echo "$h: rejected"
      fi
    done

「trusted」なら、そのランナーのその道具は漏れた中間 CA をまだ受け入れています。道具ごとに別のバンドルを使うことがあるので、ジョブで使う道具(git ls-remote・Python・Node.js)も同じように試します。通信の不具合も「rejected」に見えるので、手を打つべきなのは「trusted」の方です。

macOS では、/etc/ssl/cert.pem に該当のルートが残っている間、このステップが失敗します(#15228 で GitHub が示した確かめ方):

- if: runner.os == 'macOS'
  run: |
    openssl crl2pkcs7 -nocrl -certfile /etc/ssl/cert.pem | openssl pkcs7 -print_certs -noout \
      | grep -E 'emSign ECC Root CA - G3|AAA Certificate Services' && exit 1 || echo "cert.pem is fixed"

Ubuntu では、dpkg-query -W ca-certificates で入っている版が出ます。

イメージより先に macOS で直す

ルートを自分で持っている道具

システムのファイルを直しても、自分の一覧を持つ道具には届きません。公表のページの一覧から、直った版:

actions/setup-python 自体は、ランナーの Node 24 で Python を取ってきます。直った Ubuntu のイメージでは、この Node 24 が鎖を拒みます(setup-python #1382)。

失敗したジョブを IntelliJ IDEA から見るなら

Pipeline Inbox for GitHub Actions Workflows は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。すべてのリポジトリの実行を、ジョブ・ステップと一緒に IDE のツールウィンドウに並べるので、失敗し始めた確かめのステップがすぐ分かり、いまのブランチの実行はステータスバーに出ます。読むのは無料、失敗したジョブの再実行・キャンセル・ワークフローの実行・デプロイのレビューは Pro(月 US$1.50・30日の無料試用つき)です。

JetBrains Marketplace で入れる

GitHub と GitHub Actions は GitHub, Inc. の商標、Apple と macOS は Apple Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitHub, Inc.・Apple Inc.・eMudhra・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:xcode-27 と iOS 27.1 のシミュレーター · macOS 14 の終わり · IntelliJ IDEA で使える GitHub Actions のプラグインの比較 · English