新たなmacOSのTCCバイパス脆弱性により、攻撃者が機密ユーザーデータへアクセス可能に

新たに発見されたmacOSの脆弱性(CVE-2025-43530)は、攻撃者がAppleのTransparency, Consent, and Control(TCC)保護を回避できるようにします。

この欠陥はシステムのMIGサービス com.apple.scrod に存在します。このサービスはスクリーンリーダーの操作を処理するよう設計されており、Apple Events、マイク、機密文書へのアクセス権限など、強力なTCCエンタイトルメントを有しています。

脆弱性は、コマンドを実行する前にサービスがクライアントアプリケーションを「信頼できる」と検証する方法にあります。

具体的には、サービスはアクセスを要求するプログラムの身元を確認するために isTrusted というルーチンを使用します。

しかし、クライアントの監査トークン(安全な識別子)を安全に確認する代わりに、システムはAPI SecStaticCodeCreateWithPath を使用します。この方法は、実行中のプロセスそのものではなく、プログラムのファイルパスを確認します。

これにより重大なセキュリティギャップが生じます。つまり、システムはメモリ上で実行されている実際のコードではなく、ディスク上のファイルを検証してしまいます。

攻撃者は、この検証の欠陥を Time-of-Check to Time-of-Use(TOCTOU)攻撃で悪用できます。検証中に正規のApple署名アプリケーションを悪意あるものにすり替えることで、攻撃者はシステムを騙して昇格した権限を付与させることが可能になります。

さらに、このチェックは「anchor apple」(Appleによって署名されていることを意味する)のようなコード署名に依存しているため、攻撃者は正規のAppleバイナリに悪意あるコード(例: .dylib ペイロード)を注入できます。

例えば、単純なコマンドライン命令により、root権限を必要とせずに信頼されたシステムプロセスへコードを注入できてしまいます。

いったん信頼されると、攻撃者は任意のAppleScriptを実行してFinderや他のアプリを制御でき、実質的にTCCを回避してデータを窃取できます。

AppleはmacOS 26.2でこの脆弱性に対処しました。このパッチでは、より厳格な検証方法が導入されています。

現在は、クライアントの監査トークンから特定のエンタイトルメント—com.apple.private.accessibility.scrod—を直接確認します。

これにより、正当で認可されたプロセスのみがサービスへアクセスできることが保証され、ファイルパスに基づくなりすましやTOCTOU攻撃は無効化されます。

翻訳元: https://cyberpress.org/new-macos-tcc-bypass-vulnerability/

ソース: cyberpress.org