概要
ビデオ ゲーム ランチャー「GOG Galaxy」では複数の脆弱性が確認されました。多様な攻撃を受ける危険性があります。「GOG Galaxy Games」は、新しいゲームを購入してデスクトップから起動できる、ゲームのストアフロントです。
Talos は情報開示方針に従って GOG 社と協力し、今回の脆弱性が解決されたこと、および影響を受けた利用者向けにアップデートが提供されていることを確認しています。
脆弱性の詳細
GOG Galaxy Updater が安全でない Temp ディレクトリを使用することに起因する権限昇格の脆弱性(ローカル エクスプロイト)(TALOS-2018-0722/CVE-2018-4048)
GOG Galaxy の Temp ディレクトリに対するアクセス保護の欠如により、権限昇格の脆弱性(ローカル エクスプロイト)が存在します。この脆弱性は、Desktop Galaxy Updater の実行ファイルを上書きすることでエクスプロイト可能です。エクスプロイトに成功した場合、任意コードを SYSTEM 権限で実行される危険性があります。GOG Galaxy を自動更新した際に実行ファイルが抽出されるデフォルト ディレクトリは、システム上の全ユーザに「フル コントロール」権限があります。これにより、GOG Galaxy Updater Service に関連する任意のファイルを誰でも読み書き可能になります。実行可能ファイルには、ルート CA などの機密データに加え、インストール後に SYSTEM 権限で実行される実行可能ファイルも含まれているため、攻撃者がインストール前にそれらを上書きすれば SYSTEM 権限で任意のコードを実行できます。
詳細は、こちらからアドバイザリ全文をお読みください。
GOG Galaxy Games が安全でない Temp ディレクトリを使用することに起因する権限昇格の脆弱性(ローカル エクスプロイト)(TALOS-2018-0723/CVE-2018-4049)
GOG Galaxy の Games ディレクトリに対するアクセス保護の欠如により、権限昇格の脆弱性(ローカル エクスプロイト)が存在します。この脆弱性は、インストールされたゲームの実行ファイルを上書きすることでエクスプロイト可能です。エクスプロイトに成功した場合、任意コードを昇格特権で実行される危険性があります。GOG Galaxy がインストールされるデフォルト ディレクトリは、システム上の全ユーザに「フル コントロール」権限があります。これにより、「Games」ディレクトリ内のファイルを誰でも読み/書き、または変更可能になります。インストールされたゲーム内に特権付きインストーラ コンポーネント(DirectX インストーラ、Visual Studio 再配布可能ファイルなど)が含まれている場合、攻撃者が管理者権限を取得できます。また、ユーザが任意の実行ファイルを上書きすることで他のユーザ アカウントに成りすますこともできます。
詳細は、こちらからアドバイザリ全文をお読みください。
GOG Galaxy Games の changeFolderPermissionsAtPath 関数に起因する、権限昇格の脆弱性(TALOS-2018-0724/CVE-2018-4050)
GOG Galaxy Games の特権付きヘルパーツールには、権限昇格の脆弱性(ローカル エクスプロイト)が存在します。攻撃者がフォルダのアクセス許可をグローバルに調整し、昇格権限で任意コードを実行できる危険性があります。脆弱性は changeFolderPermissionsAtPath の関数に起因しています。この関数は最初の引数としてパスを取り、フォルダとフォルダ内のファイルすべてのアクセス権を、グローバルに読み書き可能に変更します。攻撃者がこれを逆手に取ることで、ファイル システム上の特権付きフォルダを(攻撃者自身の特権を越えて)変更し、エクスプロイト可能な状態を作り出せる可能性があります。
詳細は、こちらからアドバイザリ全文をお読みください。
GOG Galaxy Games の createFolderAtPath 関数に起因する、権限昇格の脆弱性(TALOS-2018-0725/CVE-2018-4051)
GOG Galaxy’s Games のバージョン 1.2.47(macOS 用)では、特権付きヘルパー ツールに権限昇格の脆弱性(ローカル エクスプロイト)が存在します。攻撃者がルート ファイル システム上でグローバルにディレクトリとサブディレクトリを作成したり、既存のディレクトリのアクセス許可を変更したりできる危険性があります。脆弱性は createFolderAtPath の関数に起因しています。この関数は最初の引数としてパスを取り、その場所にフォルダを作成します。また、必要なネスト ディレクトリを構築する役割もあります。これらのネスト ディレクトリは root wheel によって所有されていますが、グローバルな読み書き/実行権限が付与されています。これに起因して特権昇格の脆弱性が発現し、攻撃者がルート ファイル システムを変更できるようになります。
詳細は、こちらからアドバイザリ全文をお読みください。
GOG Galaxy Games の fillProcessInformationForPids 関数に起因する、情報漏えいの脆弱性(TALOS-2018-0726/CVE-2018-4052)
GOG Galaxy’s Games の特権付きヘルパー ツールには、情報漏えいの脆弱性(ローカル エクスプロイト)が存在します。攻撃者は、通常は root ユーザしかアクセスできない PID を渡し、その PID を基に情報を取得できる可能性があります。脆弱性は fillProcessInformationForPids の関数に起因しています。関数の実行中に攻撃者がルート プロセスの値を渡すと機密情報が返され、情報が漏えいする危険性があります。
詳細は、こちらからアドバイザリ全文をお読みください。
GOG Galaxy Games の特権付きヘルパー サービスに起因する、サービス拒否の脆弱性(TALOS-2018-0727/CVE-2018-4053)
GOG Galaxy’s Games の特権付きヘルパー ツールには、サービス拒否の脆弱性(ローカル エクスプロイト)が存在します。攻撃者が悪意のあるデータをルート リスニング サービスに送信した場合、アプリケーションが終了して利用できなくなる危険性があります。特権付きヘルパーの各関数は、応答の際にクロージャが渡されることを前提としています。ただしクロージャが渡される前に、クロージャのタイプや有効性が検証されません。NULL 値が渡された場合、プログラムは特定のスタック トレースにより応答します。そのため、クロージャを別の値にすり替えることで任意コードを実行できる可能性があります。ただし現段階で確認されているのは、リソース不足を引き起こすサービス拒否の脆弱性です。
詳細は、こちらからアドバイザリ全文をお読みください。
脆弱性が確認されたバージョン
Talos では、GOG Galaxy バージョン 1.2.48.36 が脆弱性の影響を受けることを確認済みです。
まとめ
これらの脆弱性を回避するために、GOG Galaxy Games のユーザはできるだけ早く最新バージョンにアップデートすることをお勧めします。今回の脆弱性は原因がすべて異なるため効果的な回避策はありません。脆弱性を修正できる
のは更新プログラムに限られます。
カバレッジ
脆弱性のエクスプロイトは、以下の SNORT? ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center または Snort.org を参照してください。
Snort ルール:48433、48434
本稿は 2019年3月26日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple vulnerabilities in GOG Galaxy Games」の抄訳です。