Appleのgitは依然として侵害されたeMudhra証明書を信頼している
AppleもeMudhraのインシデントについて10月17日に通知を受けたものの、macOSに同梱しているデベロッパーツールは依然として侵害された証明書を信頼しており、さらに10月26日にリリースされたmacOS 13.2でも対策されておらず、ユーザーが手動で適用した回避策も元に戻されているとのことです。つまりmacOSのデベロッパーツールは脆弱性が残された状態ということになるため、デベロッパーツールがHTTPS接続を行った場合に通信内容が傍受される可能性があります。例えばgitの場合だと、リモートレジストリからHTTPS接続でクローンやプルを行うと、攻撃者が悪意のあるコードを仕込んだり、プッシュしたコードが改ざんされたり、GitHubトークンなどの認証情報が盗まれたりする危険性が考えられます。
gitが対策済みかどうかを確認するには、以下のコマンドを実行します。
git ls-remote https://git-emudhra.we-have-a-problem.com/check.gitもし実行時に証明書エラーが発生したなら、gitが対策済みであることを意味します。逆にもし正しく実行されてリモートリポジトリのコミットが表示されてしまった場合は、gitが対策されておらず脆弱性が残っていることを意味します。
curlについて対策済みかどうか確認したい場合は以下のコマンドを実行します。gitと同じく証明書エラーが表示されれば対策済みです。
curl https://dv-g3b-noct-emudhra.we-have-a-problem.com/
curl https://dv-g3b-aaa-noct-emudhra.we-have-a-problem.com/
以下のコマンドは攻撃を疑似体験できるもので、GitHubになりすましたテストサーバーからリポジトリをクローンし、攻撃が成功したかどうかを確認します。対策済みのgitは証明書エラーとなり実行を拒否しますが、そうでない場合はクローンが成功し、先頭が「INTERCEPTED」で始まるREADME.mdを開きます。
git -c http.curloptResolve=github.com:443:15.235.19.186 clone https://[email protected]/galadran/emudhra-git-test
なお、上記のコマンドは「-c」オプションで明示的にテストサーバーにリダイレクトしていますが、本物の攻撃者ならばオプションなしでも自由にリダイレクトできてしまいます。
AppleはすでにSafariやその他のネットワークフレームワークベースのアプリについては対策していますが、開発者に向けた修正の早急なリリースが望まれます。
Appleが対策を行うまでの間の回避策として、開発者は侵害されたルートファイルを手動で削除することがeMudhraにより推奨されています。具体的な方法についてはeMudhraのサイトにて公開されています。ただし、AppleのガイダンスによるとmacOSのアップデートによってルートファイルの削除が元に戻される可能性があるため、Appleが修正プログラムをリリースするまでは開発者はアップデートのたびに上記のチェックを行い、脆弱性が復活していたら再度ルートファイルの削除を行う必要があります。またセキュリティチームは、CI環境やその他のビルドインフラストラクチャでmacOSランナーが使用されている場合、サプライチェーンのリスクを評価しておく必要があります。
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.




