macOS 27.2.1 で curl が eMudhra を信頼しなくなります。Mac アプリで私が確認したいこと
作者: Justinas Rolando、MacPipの開発者
2026年11月9日、Apple は macOS 27.2.1 を、古い Mac 向けの 26.7.3 と 15.8.3 とともに公開しました。8 件のセキュリティ修正に加えて、eMudhra 証明書の侵害で残っていた穴をふさぎます。10月19日以降、Safari、メール、Apple のネットワークおよびセキュリティのフレームワークを使うアプリは、不正な証明書 12 件をすでに拒否していましたが、curl、git、python3、openssl などのコマンドラインツールは /etc/ssl/cert.pem を読み、受け入れ続けていました。今回のアップデートで、AAA Certificate Services を含むルート証明書 5 件がそのファイルから削除されます。アプリ、インストーラ、アップデート用スクリプトがこれらのツールを使っている場合や、独自の信頼ルート一覧を同梱している場合は、新しいバージョンでダウンロードと自分のサーバーをテストしてください。
Mac のアップデートは、ほとんどの場合インストールしたら忘れてしまいます。11月9日に出た macOS 27.2.1 は、Mac アプリを作っているなら注意書きまで読んでおきたいアップデートです。すべての Mac に入っているツールの一部が信頼する証明書が変わるからです。Apple は、古い Mac 向けに macOS Tahoe 26.7.3 と Sequoia 15.8.3 も同時に出しており、3 つとも同じ変更が入っています。
何が起きたのか、誰に影響するのか、何をテストしたいかをまとめます。
何が起きたのか
- 8 つの中間認証局が侵害されました。Apple のeMudhra のサポートページによると、eMudhra の中間 CA 8 つの秘密鍵が侵害されました。そのうち 6 つは、ウェブサイトが https に使う証明書を発行します。これらの鍵があれば、どのサイトに対しても有効に見える証明書を作れてしまいます。eMudhra と Sectigo は、影響を受けた証明書を失効させました。
- 鍵はとても小さなものでした。MacRumors によると、Mozilla の調査で、簡単に復元できるほど小さな鍵の値が見つかりました。MacRumors は10 月にも、鍵が使われた証拠はないと伝えています。
- Apple は 10 月にブロックしましたが、すべてではありません。10月19日から、Apple はこれらの証明書のうち 12 件を Safari、メール、Apple のネットワークおよびセキュリティのフレームワークを使うアプリでブロックしました。アップデートは不要です。
- 抜け穴はコマンドラインツールでした。Apple のページは curl、git、python3、ruby、perl、openssl を挙げています。これらは証明書を
/etc/ssl/cert.pemというファイルと照らし合わせて確認するため、そのファイル内のルートにつながるものについては Apple のブロックを通り抜けていました。 - 27.2.1 でこの穴がふさがります。コマンドラインツールはこれらの証明書を受け入れなくなり、
/etc/ssl/cert.pemから 5 件のルートが削除されます。対象は emSign ECC Root CA - G3、AAA Certificate Services、emSign Root CA - G1、emSign Root CA - C1、emSign ECC Root CA - C3 です。Apple のページによると、26.7.3 と 15.8.3 にも同じ保護が入っています。
同じアップデートで、メッセージ、AirPlay、Bluetooth にある別の 8 件のセキュリティ上のバグも修正されます(MacRumors による)。Apple は、攻撃に使われたものがあるとは述べていません。
Mac アプリの開発者が気にするべき理由
アプリが URLSession でインターネットと通信する通常の Swift アプリなら、10 月の対応でおそらくカバーされていました。Apple のページは、Apple のネットワークおよびセキュリティのフレームワークを使うアプリについて述べています。Michael Tsai 氏が引用した Howard Oakley 氏は、Apple 標準の API で作られたアプリは macOS の信頼ストアを使うと述べています。
対象外だったのは、多くのインディー開発者が出荷しているタイプのアプリです。
- 内部で curl、git、python3 を動かすアプリ。ダウンロード用のヘルパー、インストールスクリプト、ローカル AI アプリのモデルダウンローダー、git をラップする開発者ツールなどです。
- 独自の信頼ルート一覧を持つアプリ。Oakley 氏は、Chrome とその他の Chromium ブラウザ、Mozilla と Microsoft の製品、一部の Electron アプリを挙げています。また、Python、Java、Go、場合によっては Rust や Ruby も影響を受けるかもしれないと述べています。Apple のページによると、独自のルート一覧を持つツールは、Apple のブロックも
/etc/ssl/cert.pemもまったく使いません。
つまり、10 月の対応はアプリに届いていないかもしれず、独自のルートを持つアプリでは 11 月の対応も届かないかもしれません。
もう一つの側面があります。AAA Certificate Services は Sectigo の古いルートで、ごく普通の証明書にも数多く署名してきました。Apple のページは、/etc/ssl/cert.pem だけを使うツールでは、削除されたルートを経由するチェーンのサイトを検証できなくなる場合があると警告しています。ダウンロードサーバー、アップデート用フィード、ライセンス API がたまたまその 1 つなら、更新した Mac の curl が拒否し始めるかもしれません。
今週確認したいこと
これはAppleの手順ではなく、私自身の手順です。
- Mac 1 台を 27.2.1 に更新して、コマンドラインからのダウンロードをテストします。インストールスクリプトを実行し、cask があるなら
brew installも試し、ダウンロード、appcast、ライセンスの各アドレスにcurl -Iを実行します。証明書が拒否されると、ページが遅くなるのではなく、エラーとして表れます。 - 自分の証明書チェーンを確認します。
openssl s_client -connect yourapp.com:443 -showcertsを実行して、issuer の行を読みます。eMudhra、emSign、AAA Certificate Services が見つかったら、ホスティング会社か証明書の販売元に、別のルートで終わるチェーンを頼んでください。 - アプリが実際に使っている信頼ストアを調べます。Electron、Go、ルートを同梱した Rust、certifi を使う Python、Java は、それぞれ独自のストアを持っています。ランタイムまたはルートのパッケージを、問題のある証明書を外したバージョンに更新し、リリースノートに書いておきましょう。
- サポート向けの回答を用意しておきます。古い Mac でアップデートをインストールできない人には、Apple のページに手作業でルートを削除する手順があります。sudo を使うコマンドをメールに貼るより、Apple のページへのリンクを案内したいところです。
- アップデートを呼びかけます。アプリのユーザーが技術に詳しい人たちなら、次のリリースやニュースレターに短く書いておくだけでも、手間はかかりません。
- テスト用のMacでファイルを確認する。Appleのページには下のコマンドが載っていて、2つの重要なルート証明書が消えていれば何も表示されません。
openssl crl2pkcs7 -nocrl -certfile /etc/ssl/cert.pem | openssl pkcs7 -print_certs -noout | grep -E 'emSign ECC Root CA - G3|AAA Certificate Services'
私ならやらないこと
エラーを消すために、スクリプトで証明書のチェックをオフにすることはおすすめしません。今回の変更が守ろうとしているのは、まさにそこだからです。また、ユーザーに「Mac がハッキングされた」と伝えることもおすすめしません。鍵が使われた形跡はなく、ほとんどのアプリは 10 月に保護されていました。
MacPipから見ると
MacPip は、アプリがどの証明書を信頼するかをチェックしません。掲載ページは送信時に自動でスキャンされ、青いチェックは、人がある日付にそのアプリを試したことだけを表します。開発者ツールやセキュリティとプライバシーのアプリを作っているなら、今回の影響を受けるスクリプトや同梱ランタイムを持っている可能性が最も高いので、1 時間かける価値があります。
本日の新ツール: プライバシーマニフェストチェッカー。PrivacyInfo.xcprivacy を貼り付けると、各データタイプ、目的、CA92.1 のような必須理由コードを、Apple 自身の一覧と照らし合わせます。Mac で Apple が求めること、求めないことも表示します。ページ上で動作し、何も送信されません。Info.plist 解説と公証の解説もすぐ隣にあります。まだ Mac アプリが MacPip にないなら、掲載は無料です。
出典
- Apple サポート: eMudhra 認証局の侵害について(2026年11月9日 公開)
- Apple サポート: Apple のセキュリティアップデート
- MacRumors: macOS 27.2.1 がコマンドラインツールの eMudhra 証明書の欠陥を修正
- MacRumors: Apple が侵害された eMudhra 証明書をブロック(2026年10月25日)
- MacRumors: iOS 27.2.1 と macOS 27.2.1 で Apple が修正した内容
- Michael Tsai: eMudhra 中間 CA の侵害
続けて読む
- Claude Fable 5.2 and Mythos 5.2: what's new, the benchmarks, and what it means for your MacClaude Fable 5.2 and Mythos 5.2 came out on November 9, 2026. Anthropic's benchmarks as charts, the prices, what changes on a Mac, and four free tools.
- Live ActivitiesがMacのメニューバーに登場。私ならMacアプリでこうしますmacOS 27.3ベータでは、Apple siliconのMacのメニューバーにLive Activitiesが表示され、Macアプリが自分で開始することもできます。何が変わったか、制限、最初に試すことをまとめました。
- メモリのせいで Mac が高くなっています。私が Mac アプリでやることApple は、メモリ不足の影響で Mac の品薄と値上がりが 2027 まで続くと述べていて、最も安い Mac のメモリは 8 GB です。Mac アプリにとってなぜ重要なのか、今週やっておきたいチェックをまとめました。
- Appleが解約する人に話しかけられるようになりました。私ならMacアプリでこうします11月4日以降、App Storeのサブスクリプションでは、解約するときにメッセージやオファーを表示できます。ルール、Appleの説明、Macで確認することをまとめました。
- Appleが年齢制限の質問を2つ追加します。私ならMacアプリでこうします11月16日から、App Store Connectで位置情報の共有とデートの機能について質問されます。すべてのアプリが2027年1月12日までに回答する必要があります。何が変わり、何をすればいいかをまとめました。
- Siri AIがすべての開発者に開放されました。自分のMacアプリでまずやることAppleは macOS 27.3 ベータで、Siri AIをすべての開発者に開放しました。何が変わったのか、今出せるものと出せないもの、小さなMacアプリ向けの短い計画をまとめます。
- タッチスクリーン搭載Macは11月6日に出荷されます。自分のMacアプリで確認したいことをまとめましたAppleの初のタッチ対応Macが11月6日に登場します。何が変わるのか、Appleが開発者に伝えていること、そしてご自分のMacアプリで試したいことの短いリストです。
- MacPipのご紹介MacPipとは何か、なぜ作ったのか、掲載とローンチデーの仕組み、青いチェックの本当の意味、そして最初の数日間の実際の数字について。
- Macアプリのローンチ方法: 1ページに収まるチェックリストMacアプリのローンチ日の前、当日、後にすべきこと: 署名、ページ、ディレクトリ、Product Hunt、Show HN、そして計測すべきこと。
- Macアプリが何をするかを伝える一行説明の書き方Macアプリの名前の下に置く一行を、わかりやすく書く方法です。何をするアプリかを書き、大げさな表現を削り、アプリを見たことがない人に試してもらいます。
- 初めてMacアプリを作る人向けに、署名と公証をわかりやすく説明します。コード署名、公証、ステープルがそれぞれ何をするか、どの順で行うか、なければユーザーに何が表示されるか、自分のビルドをどう確認するか。
- dofollowリンクの本当の価値を、リンクを提供するサイトの立場から正直に書いています。dofollowの意味、Googleがリンクについて述べていること、新しいディレクトリからのリンクが今は価値が低い理由、リンクを買う代わりにすべきこと。