
CVE-2026-0075 の Android ContactsProvider サイドチャネルを、権限不要の PoC で検査し、根本原因分析とパッチ適用版・脆弱性あり版の比較を可能にします。
管理されたラボ環境向けの Android 研究プロトタイプで、ContactsProvider2 における CVE-2026-0075 に関連する観察可能な挙動を評価するためのものです。
CVE-2026-0075 は、ContactsProvider2 における Android のローカル権限昇格の問題です。公開アドバイザリは、ユーザーの操作なしに SQL インジェクションを通じて連絡先データベースへアクセスする可能性のある経路を説明しています。Android はこの問題を High としてリストし、影響を受ける AOSP バージョンとして Android 14、15、16、16-qpr2 を特定しています。2026-06-05 以降のセキュリティパッチレベルを持つデバイスは、2026年6月の速報の問題に対処しています。
同梱のアプリはスタンドアロンの Java/Android PoC であり、意図的に READ_CONTACTS も WRITE_CONTACTS も宣言していません。これは、権限境界の挙動と例外処理を管理されたビルド上で比較するために、許可された研究者を支援することを目的としています。
このリポジトリは、許可されたセキュリティ研究専用です。
このプロジェクトは普遍的な悪用経路を主張するものではありません。これは、対象ビルド、そのパッチレベル、および ContactsProvider 実装に対して検証されなければならない、管理された観察結果を記録します。
.
├── no-permission-probe/ Standalone Android application and PowerShell helpers
│ ├── build.ps1 Compiles, packages, aligns, and signs a debug APK
│ ├── run-poc.ps1 Installs the APK and starts the controlled probe
│ ├── AndroidManifest.xml No READ_CONTACTS or WRITE_CONTACTS declaration
│ ├── res/ Android resources
│ └── src/ Application source
├── CONTRIBUTING.md Contribution and research-data requirements
├── SECURITY.md Vulnerability reporting guidance
└── .gitignore Local build and IDE exclusions
公開されている AOSP 修正 bb9f36b3ff6d42136afb61d527e1e8f67242fe32 は、Fix side channel attacks in CP2 というタイトルです。これは ContactsProvider2 を変更して、READ_CONTACTS を持たない呼び出し元に対して JSON 関連の SQLiteException メッセージを除去し、カーソルの実体化を例外処理パスに組み込みます。この PoC は、管理された before/after の挙動比較用に設計されています。パッチ検証の代わりにはなりません。
PATH 上で javac、jar、keytool が利用可能な JDKandroid-3536.0.0adb)ビルド前に ANDROID_HOME を SDK ルートに設定してください。ANDROID_SDK_ROOT もローカルツールで使用される場合がありますが、提供されるスクリプトは ANDROID_HOME を読み取ります。
$env:ANDROID_HOME = 'C:\Android\Sdk'
リポジトリのルートから:
Set-Location .\no-permission-probe
.\build.ps1
署名済みデバッグ APK は no-permission-probe\build\probe.apk に出力されます。build ディレクトリはバージョン管理から除外されています。
許可されたエミュレータ、または合成の連絡先のみが含まれるテストデバイスを起動します。
デバイスとパッチレベルを確認します:
adb devices
adb shell getprop ro.build.version.security_patch
アプリをビルドし、次に実行します:
Set-Location .\no-permission-probe
.\run-poc.ps1
アプリケーション UI とスコープ指定されたログタグのみを確認します:
adb logcat -s CVE20260075Probe:I
実行ヘルパーは、接続されたテストデバイスから正確な data/<id> URI を選択し、読み取り許可付きでアクティビティを起動します。その動作が明示的に許可されていない環境では使用しないでください。
説得力のある結果を得るには、毎回の実行で以下を記録してください:
既知の脆弱なラボイメージと、2026年6月の修正を含むイメージを比較してください。期待される是正シグナルは、READ_CONTACTS を持たない呼び出し元に返される該当する JSON 関連 SQLite エラーが、汎用メッセージに置き換えられることです。これ自体は、すべての観察可能なオラクルの不在を立証するものではありません。
この CVE は公開開示され、2026年6月の Android セキュリティ速報で対処されました。現在の Android 製品の脆弱性については、Android Security プロセスを通じて直接報告してください。リポジトリ固有のガイダンスについては SECURITY.md を参照してください。
bb9f36b3ff6d42136afb61d527e1e8f67242fe32Apache License 2.0 の下でライセンスされています。