エグゼクティブ サマリー
Cisco Talos は本日、MacPaw の CleanMyMac Xをご覧ください。ソフトウェアで発見された複数の脆弱性について情報を開示します。CleanMyMac X は、Mac OS 用のクリーンアップ アプリケーションです。ユーザはこのアプリケーションを使って未使用または不必要なファイルをスキャンして削除し、マシンに空きスペースを作ることができます。すべてのバグに共通して、被害マシンへのローカル アクセスを持つ攻撃者が root 権限でファイル システムを変更できる危険性があります。
Talos は情報開示方針に従って MacPaw と協力し、今回の脆弱性が解決されたことと、影響を受けた利用者向けにアップデートが利用可能であることを確認しています。
脆弱性の詳細
CLEANMYMAC X MOVEITEMATPATH 特権昇格の脆弱性(TALOS-2018-0705/CVE-2018-4032)
CleanMyMac X ソフトウェアによる入力の検証が不適切な場合に、特権昇格の脆弱性が存在します。このバグはヘルパー プロトコルの「moveItemAtPath」関数で発生します。攻撃者が to_path の引数に「nil」を渡すと、そのファイルは削除され、どのアプリケーションでもこの関数にアクセスして root としてこの関数を実行できるようになります。そのため、root 権限を持たないユーザがルート ファイル システムからファイルを削除できる危険性が発生します。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X MOVETOTRASHITEMATPATH 特権昇格の脆弱性(TALOS-2018-0706/CVE-2018-4033)
CleanMyMac X ソフトウェアによる入力の検証が不適切な場合に、特権昇格の脆弱性が存在します。このバグはヘルパー プロトコルの「moveToTrashItemAtPath」関数で発生します。攻撃者がこの関数の 4 つ目の引数に「nil」を入力すると、他のどのアプリケーションでも root 権限でこの関数にアクセスし、ルート ファイル システムからファイルを削除できるようになります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X REMOVEITEMATPATH 特権昇格の脆弱性(TALOS-2018-0707/CVE-2018-4034)
CleanMyMac X ソフトウェアによる入力の検証が不適切な場合に、特権昇格の脆弱性が存在します。このバグはヘルパー プロトコルの「removeItemAtPath」関数で発生します。この関数を実行する際、呼び出すアプリケーションは検証されません。したがって、どのアプリケーションでもこの関数にアクセスして root として実行することができます。攻撃者がこの脆弱性を不正利用し、特権の境界を越えてルート ファイル システムからファイルを削除できる危険性があります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X TRUNCATEFILEATPATH 特権昇格の脆弱性(TALOS-2018-0708/CVE-2018-4035)
CleanMyMac X ソフトウェアによる入力の検証が不適切な場合に、特権昇格の脆弱性が存在します。このバグはヘルパー プロトコルの「truncateFileAtPath」関数で発生します。この関数を実行する際、呼び出すアプリケーションは検証されません。したがって、どのアプリケーションでもこの関数にアクセスして root として実行することができます。攻撃者がこの脆弱性を不正利用し、特権の境界を越えてルート ファイル システムからファイルを削除できる危険性があります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X REMOVEKEXTATPATH 特権昇格の脆弱性(TALOS-2018-0709/CVE-2018-4036)
CleanMyMac X ソフトウェアによる入力の検証が不適切な場合に、特権昇格の脆弱性が存在します。このバグはヘルパー プロトコルの「removeKextAtPath」関数で発生します。この関数を実行する際、呼び出すアプリケーションは検証されません。したがって、どのアプリケーションでもこの関数にアクセスして root として実行することができます。攻撃者がこの脆弱性を不正利用し、特権の境界を越えてルート ファイル システムからファイルを削除できる危険性があります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X REMOVEDIAGNOSTICSLOGS 特権昇格の脆弱性(TALOS-2018-0710/CVE-2018-4037)
CleanMyMac X ソフトウェアによる入力の検証が不適切な場合に、特権昇格の脆弱性が存在します。このバグはヘルパー プロトコルの「removeDiagnosticsLogs」関数で発生します。この関数を実行する際、文字列が Objective-C の文字列である「erase」や「all」を含んで構成されます。呼び出すアプリケーションは検証されないため、他のアプリケーションがこの関数にアクセスして root として実行することができるようになります。これにより、root 権限を持たないユーザがシステムからメイン ログを削除できる危険性があります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X ENABLELAUNCHDAGENTATPATH 特権昇格の脆弱性(TALOS-2018-0715/CVE-2018-4041)
エクスプロイト可能な特権昇格の脆弱性が、Clean My Mac X のヘルパー サービスに存在します。このバグはヘルパー プロトコルの「enableLaunchdAgentAtPath」関数で発生します。この関数が読み込まれる際、呼び出すアプリケーションは検証されないため、他のアプリケーションがこの関数にアクセスして root として実行できるようになります。これにより、root 権限を持たないユーザがシステムからメイン ログを削除できる危険性があります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X REMOVELAUNCHDAGENTATPATH 特権昇格の脆弱性(TALOS-2018-0716/CVE-2018-4042)
エクスプロイト可能な特権昇格の脆弱性が、Clean My Mac X のヘルパー サービスに存在します。このバグはヘルパー プロトコルの「removeLaunchdAgentAtPath」関数で発生します。この関数が読み込まれる際、呼び出すアプリケーションは検証されないため、他のアプリケーションがこの関数にアクセスして root として実行できるようになります。これにより、root 権限を持たないユーザがシステムからメイン ログを削除できる危険性があります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X REMOVEASL 特権昇格の脆弱性(TALOS-2018-0717/CVE-2018-4043)
エクスプロイト可能な特権昇格の脆弱性が、Clean My Mac X のヘルパー サービスに存在します。このバグはヘルパー プロトコルの「removeASL」関数で発生します。このプロセスはロギングのシステム デーモンをコールアウトして停止させます。Apple システム ログ ファシリティも停止させます。これらは両方ともルート デーモンであるため、権限の問題が発生します。呼び出すアプリケーションは検証されないため、他のどのアプリケーションでも権限の境界を超えてこの関数にアクセスできるようになります。そのため、root 権限を持たないユーザがパッケージの秘密情報を削除できる危険性が発生します。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X REMOVEPACKAGEWITHID 特権昇格の脆弱性(TALOS-2018-0718/CVE-2018-4044)
エクスプロイト可能な特権昇格の脆弱性が、Clean My Mac X のヘルパー サービスに存在します。このバグはヘルパー プロトコルの「removePackageWithID」関数で発生します。攻撃者は、この関数を呼び出す際に「–forget」コマンドを利用してインストールされた特定のパッケージに関するすべての受信情報を削除できる危険性があります。この場合、呼び出すアプリケーションは検証されないため、どのアプリケーションでもこの関数にアクセスできるようになります。これは特権ヘルパーであるため root として実行され、その後権限の境界を超えて root 権限を持たないユーザがパッケージの秘密情報を削除できるようになります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X SECURELYREMOVEITEMATPATH 特権昇格の脆弱性(TALOS-2018-0719/CVE-2018-4045)
エクスプロイト可能な特権昇格の脆弱性が、Clean My Mac X のヘルパー サービスに存在します。このバグはヘルパー プロトコルの「securelyRemoveItemAtPath」関数で発生します。この関数が実行される際、ユーザが指定した引数がこの関数に渡されます。呼び出すアプリケーションは検証されないため、どのアプリケーションでもこの関数にアクセスできるようになります。これは特権ヘルパーであるため、root として実行されます。権限の境界を越えるため、root 権限を持たないユーザがルート ファイル システムからファイルを削除できるようになります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X PLEASETERMINATE サービス妨害の脆弱性(TALOS-2018-0720/CVE-2018-4046)
CleanMyMac X のヘルパー サービスには、不適切な入力検証に起因するサービス妨害の脆弱性が含まれています。このバグはヘルパー プロトコルの「pleaseTerminate」関数で発生します。この関数を実行するとプロセスは自分自身を終了させます。この際、呼び出すアプリケーションは検証されません。したがって、どのアプリケーションでもこの関数を終了させることができるため、root 権限を持たないユーザが権限の境界を越えてこのルート デーモンを終了できるようになります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
CLEANMYMAC X DISABLELAUNCHDAGENTATPATH 特権昇格の脆弱性(TALOS-2018-0721)/CVE-2018-4047)
CleanMyMac X のヘルパー サービスには、特権昇格の脆弱性が含まれています。このバグはヘルパー プロトコルの「disableLaunchdAgentAtPath」関数で発生します。この関数は「launchtl」を呼び出し、指定された場所からスクリプトをアンロードします。すべての「launchtl」コマンドは root として実行する必要があります。呼び出すアプリケーションは検証されないため、どのアプリケーションでも権限の境界を超えてこの関数にアクセスできるようになります。これにより、root 権限を持たないユーザが root として「launchd」スクリプトをアンインストールできる危険性があります。
この脆弱性に関する詳細は、アドバイザリ全文をご覧ください。をご覧ください。
脆弱性が確認されたバージョン
Talos は検証を行い、Clean My Mac X のバージョン 4.04 がこれらすべての脆弱性の影響を受けていることを確認しました。
https://macpaw.com/blog/cleanmymac-x-update-4.2.0をご覧ください。
まとめ
ユーザにはこのソフトウェアを最新バージョン(CleanMyMac X バージョン 4.2.0)に更新することが推奨されます。攻撃者は、より高いマシンの権限を取得して root としてファイル システムを変更できるように、いくつかの方法を用いて通常の保護策を回避しようとします。
カバレッジ
脆弱性のエクスプロイトは、以下の SNORT? ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center または Snort.org を参照してください。
Snort ルール:48297、48298
本稿は 2019年1月2日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple privilege escalation vulnerabilities in CleanMyMac X」の抄訳です。