Nexus のセキュリティに関する公開情報 - 2015 年 8 月

2015 年 8 月 13 日公開

Android のセキュリティに関する月例情報公開の一環として、Nexus デバイスに対するセキュリティ アップデートを無線(OTA)アップデートで配信しました。また、Nexus ファームウェア イメージも Google デベロッパー サイトにリリースされています。LMY48I 以降のビルドで下記の問題に対処しています。パートナーには下記の問題について 2015 年 6 月 25 日までに通知済みです。

下記の問題のうち最も重大度の高いものは、多様な方法(メール、ウェブの閲覧、MMS など)により、攻撃対象の端末でメディア ファイルを処理する際にリモートでのコード実行が可能になるおそれのある重大なセキュリティの脆弱性です。重大度の評価は、攻撃対象の端末でその脆弱性が悪用された場合の影響に基づくもので、プラットフォームやサービスでのリスク軽減策が開発目的または不正な回避により無効となっていることを前提としています。

リスクの軽減

ここでは、Android セキュリティ プラットフォームの保護と SafetyNet のようなサービスの保護によるリスクの軽減について概説します。こうした機能は、Android でセキュリティの脆弱性が悪用される可能性を減らします。

  • Android プラットフォームの最新版での機能強化により、Android 上の多くの問題の悪用が困難になります。Google では、すべてのユーザーに対し、できる限り最新バージョンの Android に更新することをおすすめしています。
  • Android セキュリティ チームは、「アプリの確認」や SafetyNet によって脆弱性の悪用を積極的に監視しています。こうした機能は、有害なおそれのあるアプリがインストールされる前に警告します。デバイスの root 権限を取得するツールは Google Play では禁止されています。Google Play 以外からアプリをインストールするユーザーを保護するため、「アプリの確認」はデフォルトで有効になっており、ルート権限を取得する既知のアプリについてユーザーに警告します。「アプリの確認」では、悪意のある既知のアプリで権限昇格の脆弱性が悪用されないように、そのようなアプリのインストールを見つけて阻止します。こうしたアプリがすでにインストールされている場合は、ユーザーに通知して、そのアプリの削除を試みます。
  • Google では必要に応じて、脆弱性のあるプロセス(メディアサーバーなど)にメディアが自動的に渡されないよう、ハングアウト アプリとメッセンジャー アプリを更新しています。

謝辞

調査にご協力くださった下記の皆様方に感謝いたします(敬称略)。

  • Joshua Drake: CVE-2015-1538、CVE-2015-3826
  • Ben Hawkes: CVE-2015-3836
  • Alexandru Blanda: CVE-2015-3832
  • Michał Bednarski: CVE-2015-3831、CVE-2015-3844、CVE-2015-1541
  • Alex Copot: CVE-2015-1536
  • Alex Eubanks: CVE-2015-0973
  • Roee Hay および Or Peles: CVE-2015-3837
  • Guang Gong: CVE-2015-3834
  • Gal Beniamini: CVE-2015-3835
  • Wish Wu*: CVE-2015-3842
  • Artem Chaykin: CVE-2015-3843

* Wish 氏は初の Android Security Rewards 受賞者でもあります。

MP4 atom 処理中の整数オーバーフロー

libstagefright において、MP4 atom の処理中に整数オーバーフローが複数発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されており、複数のアプリにおいて、リモート コンテンツ(特に MMS やブラウザでのメディアの再生)によってこの脆弱性が攻撃されるおそれがあります。

特権を持つメディアサーバーのサービスとしてリモートでコードが実行される可能性があることから、この問題の重大度は「重大」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。この問題は、以前の Google の重大度評価ガイドラインで重大度「高」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題の重大度は「重大」となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-1538 ANDROID-20139950 [2] 重大 5.1 以下

ESDS 処理における整数アンダーフロー

libstagefright において、ESDS atom の処理中に整数アンダーフローが発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されており、複数のアプリにおいて、リモート コンテンツ(特に MMS やブラウザでのメディアの再生)によってこの脆弱性が攻撃されるおそれがあります。

特権を持つメディアサーバーのサービスとしてリモートでコードが実行される可能性があることから、この問題の重大度は「重大」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。この問題は、以前の Google の重大度評価ガイドラインで重大度「高」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題の重大度は「重大」となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-1539 ANDROID-20139950 重大 5.1 以下

libstagefright での MPEG4 tx3g atom 解析時の整数オーバーフロー

libstagefright において、MPEG4 tx3g データの処理中に整数オーバーフローが発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されており、複数のアプリにおいて、リモート コンテンツ(特に MMS やブラウザでのメディアの再生)によってこの脆弱性が攻撃されるおそれがあります。

特権を持つメディアサーバーのサービスとしてリモートでコードが実行される可能性があることから、この問題の重大度は「重大」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。

この問題は、以前の Google の重大度評価ガイドラインで重大度「高」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題の重大度は「重大」となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3824 ANDROID-20923261 重大 5.1 以下

libstagefright での MPEG4 covr atom 処理時の整数アンダーフロー

libstagefright において、MPEG4 データの処理中に整数アンダーフローが発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されており、複数のアプリにおいて、リモート コンテンツ(特に MMS やブラウザでのメディアの再生)によってこの脆弱性が攻撃されるおそれがあります。

特権を持つメディアサーバーのサービスとしてリモートでコードが実行される可能性があることから、この問題の重大度は「重大」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。

この問題は、以前の Google の重大度評価ガイドラインで重大度「高」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題の重大度は「重大」となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3827 ANDROID-20923261 重大 5.1 以下

libstagefright での 3GPP メタデータの処理中にサイズが 6 未満の場合に生じる整数アンダーフロー

libstagefright において、3GPP データの処理中に整数アンダーフローが発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されており、複数のアプリにおいて、リモート コンテンツ(特に MMS やブラウザでのメディアの再生)によってこの脆弱性が攻撃されるおそれがあります。

特権を持つメディアサーバーのサービスとしてリモートでコードが実行される可能性があることから、この問題の重大度は「重大」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。この問題は、以前の Google の重大度評価ガイドラインで重大度「高」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題の重大度は「重大」となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3828 ANDROID-20923261 重大 5.0 以降

libstagefright での MPEG4 covr atom の処理において chunk_data_size が SIZE_MAX の場合に生じる整数オーバーフロー

libstagefright において、MPEG4 covr データの処理中に整数オーバーフローが発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されており、複数のアプリにおいて、リモート コンテンツ(特に MMS やブラウザでのメディアの再生)によってこの脆弱性が攻撃されるおそれがあります。

特権を持つメディアサーバーのサービスとしてリモートでコードが実行される可能性があることから、この問題の重大度は「重大」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。この問題は、以前の Google の重大度評価ガイドラインで重大度「高」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題の重大度は「重大」となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3829 ANDROID-20923261 重大 5.0 以降

Sonivox の Parse_wave におけるバッファ オーバーフロー

Sonivox において、XMF データの処理中にバッファ オーバーフローが発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されており、複数のアプリにおいて、リモート コンテンツ(特に MMS やブラウザでのメディアの再生)によってこの脆弱性が攻撃されるおそれがあります。

特権を持つメディアサーバーのサービスとしてリモートでコードが実行される可能性があることから、この問題の重大度は「重大」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。この問題は、以前の Google の重大度評価ガイドラインで重大度「高」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題の重大度は「重大」となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3836 ANDROID-21132860 重大 5.1 以下

libstagefright の MPEG4Extractor.cpp におけるバッファ オーバーフロー

libstagefright において、MP4 の処理中にバッファ オーバーフローが複数発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されており、複数のアプリにおいて、リモート コンテンツ(特に MMS やブラウザでのメディアの再生)によってこの脆弱性が攻撃されるおそれがあります。

特権を持つメディアサーバーのサービスとしてリモートでコードが実行される可能性があることから、この問題の重大度は「重大」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くのデバイスで通常はサードパーティ アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。

当初、この問題は(リモートではアクセスできない)ローカルからの攻撃として報告されました。この問題は、以前の Google の重大度評価ガイドラインで重大度「中」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題の重大度は「重大」となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3832 ANDROID-19641538 重大 5.1 以下

メディアサーバーの BpMediaHTTPConnection におけるバッファ オーバーフロー

BpMediaHTTPConnection において、他のアプリから提供されたデータの処理中にバッファ オーバーフローが発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されています。Google では、この問題をリモートから悪用することはできないと考えています。

特権を持つメディアサーバーのサービスとしてローカルアプリからコードが実行される可能性があることから、この問題の重大度は「高」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3831 ANDROID-19400722 5.0 および 5.1

libpng の脆弱性: png_Read_IDAT_data におけるオーバーフロー

libpng において、png_read_IDAT_data() 関数内で IDAT データの読み取り中にバッファ オーバーフローが発生する可能性があります。発生した場合、メモリが破損し、このメソッドを使用するアプリにおいてリモートでコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されています。複数のアプリにおいて、リモート コンテンツによって(特に SMS アプリやブラウザを介して)この脆弱性が攻撃されるおそれがあります。

特権のないアプリとしてリモートでコードが実行されるおそれがあるため、この問題の重大度は「高」と判断されています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-0973 ANDROID-19499430 5.1 以下

wpa_supplicant の p2p_add_device() におけるリモートから攻撃可能な memcpy() のオーバーフロー

wpa_supplicant が WLAN Direct モードで動作している場合、p2p_add_device() メソッドでのオーバーフローによってリモートでコードが実行可能になる脆弱性が存在します。この脆弱性が悪用されると、Android で「wifi」ユーザーとしてコードが実行されるおそれがあります。

この問題の悪用に対して効果のあるリスク回避策には、以下のものがあります。

- 多くの Android 端末では、デフォルトで WLAN Direct が有効化されていません

- この脆弱性を悪用するには、攻撃者が Wi-Fi 通信の届く範囲まで近づく必要があります

- wpa_supplicant プロセスは、システムへのアクセスに制限のある「wifi」ユーザーとして実行されます

- Android 4.1 以降を搭載した端末では、ASLR によってリモートからの攻撃のリスクが軽減されています

- Android 5.0 以降では、SELinux のポリシーによって wpa_supplicant プロセスに厳しい制約が課されています

リモートでコードが実行される可能性があることから、この問題の重大度は「高」と評価されています。通常、「wifi」サービスの機能にはサードパーティ製アプリからはアクセスできないため、この問題は「重大」と評価される可能性がありますが、Google では、機能が限られることとリスク軽減策のレベルを根拠に、重大度を「高」に引き下げられると判断しています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-1863 ANDROID-20076874 5.1 以下

OpenSSLX509Certificate のシリアル化解除でのメモリ破損

悪意のあるローカルアプリから送信されたインテントを受信側のアプリでシリアル化解除する際に、任意のメモリアドレスで値がデクリメントされる可能性があります。これにより、メモリが破損し、受信側アプリ内でコードが実行されるおそれがあります。

サードパーティのアプリがアクセスできない権限を取得できるため、この問題の重大度は「高」と判断されています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3837 ANDROID-21437603 5.1 以下

メディアサーバーの BnHDCP でのバッファ オーバーフロー

libstagefright において、別のアプリから提供されたデータの処理中に整数オーバーフローが発生する可能性があります。発生した場合、メモリ(ヒープ)が破損し、メディアサーバーのプロセスとしてコードが実行されるおそれがあります。

サードパーティのアプリがアクセスできない権限を取得できるため、この問題の重大度は「高」と判断されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。

この問題は、以前の Google の重大度評価ガイドラインで重大度「中」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題は重大度「高」の脆弱性となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3834 ANDROID-20222489 5.1 以下

libstagefright の OMXNodeInstance::emptyBuffer でのバッファ オーバーフロー

libstagefright において、別のアプリから提供されたデータの処理中にバッファ オーバーフローが発生する可能性があります。発生した場合、メモリが破損し、メディアサーバーのプロセスとしてコードが実行されるおそれがあります。

サードパーティのアプリがアクセスできない権限を取得できるため、この問題の重大度は「高」と判断されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。

この問題は、以前の Google の重大度評価ガイドラインで重大度「中」の脆弱性と評価され、パートナーにもそのように報告されました。2015 年 6 月に公開された新しいガイドラインでは、この問題は重大度「高」の脆弱性となります。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3835 ANDROID-20634516 [2] 5.1 以下

メディアサーバーの AudioPolicyManager::getInputForAttr() でのヒープ オーバーフロー

メディアサーバーの Audio Policy Service でのヒープ オーバーフローによって、ローカルアプリからメディアサーバーのプロセス内で任意のコードが実行されるおそれがあります。

影響を受ける機能はアプリの API として提供されています。Google では、この問題をリモートから悪用することはできないと考えています。

特権を持つメディアサーバーのサービスとしてローカルアプリからコードが実行される可能性があることから、この問題の重大度は「高」と評価されています。メディアサーバーは SELinux により保護されていますが、メディアサーバーは音声や動画ストリームへのアクセスのほか、多くの端末で通常はサードパーティ製アプリがアクセスできない、特権を持つカーネル ドライバのデバイスノードへのアクセスも有しています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3842 ANDROID-21953516 5.1 以下

電話機能への SIM コマンドがアプリにより傍受またはエミュレートされる脆弱性

SIM ツールキット(STK)フレームワークに脆弱性が存在し、Android の電話機能サブシステムへの STK SIM コマンドの一部がアプリによって傍受またはエミュレートされるおそれがあります。

通常は「signature」または「system」レベルの権限で保護されている機能やデータに、権限のないアプリからアクセス可能になるおそれがあるため、この問題の重大度は「高」と評価されています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3843 ANDROID-21697171 [2, 3, 4] 5.1 以下

ビットマップの非整列化における脆弱性

Bitmap_createFromParcel() の整数オーバーフローにより、アプリによる system_server プロセスのクラッシュや、system_server からのメモリデータの読み取りが可能になるおそれがあります。

機密データが system_server プロセスから権限のないローカル プロセスに漏えいするおそれがあることから、この問題の重大度は「中」と評価されています。通常、このタイプの脆弱性の重大度は「高」と評価されますが、攻撃側のプロセスは攻撃の成功時に漏えいするデータを制御できないほか、攻撃が失敗するとデバイスが一時的に利用できなくなる(再起動が必要となる)ため、本件では重大度が引き下げられています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-1536 ANDROID-19666945 5.1 以下

AppWidgetServiceImpl によりシステム特権を持つ IntentSender が作成される脆弱性

設定アプリの AppWidgetServiceImpl に脆弱性があり、任意のアプリで自身に FLAG_GRANT_READ_URI_PERMISSION または FLAG_GRANT_WRITE_URI_PERMISSION を設定することで URI 権限が取得される可能性があります。この脆弱性を悪用して、たとえば READ_CONTACTS 権限なしで連絡先データが読み取られるおそれがあります。

通常は「dangerous」の保護レベルを持つ権限で保護されているデータに、ローカルアプリからアクセス可能になるおそれがあるため、この問題の重大度は「中」と判断されています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-1541 ANDROID-19618745 5.1

getRecentTasks() の制限の迂回

ローカルアプリにおいて、Android 5.0 で導入された getRecentTasks() の制限が迂回され、フォアグラウンドのアプリが正確に判別される可能性があります。

通常は「dangerous」の保護レベルを持つ権限で保護されているデータに、ローカルアプリからアクセス可能になるおそれがあるため、この問題の重大度は「中」と判断されています。

この脆弱性は、スタック オーバーフローにおいて初めて公開されたと考えられます。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3833 ANDROID-20034603 5.0 および 5.1

ActivityManagerService.getProcessRecordLocked() によりシステム UID アプリが誤ったプロセスに読み込まれる脆弱性

ActivityManager の getProcessRecordLocked() メソッドにおいて、アプリのプロセス名が対応するパッケージ名と一致するかどうかが正しく検証されません。そのため、ActivityManager で一部のタスクについて誤ったプロセスが読み込まれる可能性があります。

その結果、任意のアプリによって設定アプリの読み込みが妨げられたり、設定のフラグメントにパラメータが注入される可能性があります。Google では、この脆弱性を悪用して任意のコードを「system」ユーザーとして実行することは不可能と判断しています。

通常、「system」ユーザーのみがアクセスできる機能へのアクセスが可能となる場合は重大度が「高」と評価されますが、この脆弱性で付与されるアクセスのレベルは限られることから、重大度が「中」と評価されています。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3844 ANDROID-21669445 5.1 以下

libstagefright での 3GPP メタデータ解析中にアンバインドされたバッファが読み込まれる脆弱性

3GPP データの解析中の整数アンダーフローにより、読み取り処理でバッファ オーバーランが発生し、メディアサーバーがクラッシュする可能性があります。

当初、この問題の重大度は「高」と評価され、パートナーにもそのように報告されましたが、詳しい調査の結果、影響がメディアサーバーのクラッシュに限られることから、重大度が「低」に引き下げられました。

CVE バグと AOSP リンク 重大度 影響のあるバージョン
CVE-2015-3826 ANDROID-20923261 5.0 および 5.1

改訂

  • 2015 年 8 月 13 日: 初公開