
CVE-2026-0073(Android ADB TLS Auth Bypass)の自動エクスプロイト。内蔵のmDNS/Zeroconfスキャナーを備え、Android 13+のランダム化されたワイヤレスデバッグポートを即座に発見し、完全にインタラクティブなraw PTYシェルを確立します。
CVE-2026-0073 の自動ネットワークスキャナーおよびエクスプロイトツールです。これは Android Debug Bridge デーモン (adbd) の脆弱性であり、ワイヤレスデバッグ経由で認証なしのリモートコード実行 (RCE) と対話型シェルアクセスを許可します。
このツールは、最新の Android デバイス (Android 13+) 向けに特別に最適化されており、ランダム化された ADB ポートを特定する mDNS 自動検出 と 完全対話型の raw PTY シェル を備えています。
🚨 脆弱性概要 (Android セキュリティ 速報)
CVE ID: CVE-2026-0073
Android Issue ID: A-469080888
Impact: RCE (リモートコード実行)
Severity: 重大
Officially Affected Versions: Android 14, 15, 16, 16-qpr2 ........ Android 13 の一部のデバイスも脆弱であると主張されています
⚠️ 免責事項: このツールは教育および許可されたセキュリティ研究目的のみで提供されます。自分が所有していない、または明示的なテスト許可がないネットワークやデバイスに対して使用しないでください。
最新の Android デバイスは、ワイヤレスデバッグに TLS 相互認証を使用して不正な接続を防ぎます。しかし、CVE-2026-0073 は暗号化の欠陥を露呈します: adbd が非 RSA 鍵 (楕円曲線 ec や ed25519 など) を使用するクライアント証明書を処理するとき、内部の OpenSSL EVP_PKEY_cmp 関数がエラーコードを返しますが、それが適切に処理されず、実質的に 認証チェック全体をバイパス します。
この脆弱性の詳細な技術分析とさらなる情報については、以下のリソースを参照してください:
デバイスの感受性に関する注意: このバグは一般に特定の Android バージョンで文書化されていますが、実際のテストではさまざまな OEM 実装で驚くべき結果が示されています。Mobile Hacker ブログの著者が述べているように: "テスト中、何らかの理由で Android 13 でもエクスプロイトできました。図1を参照してください。具体的には Oppo Reno5 Z です。"
PATH で利用可能であること。zeroconf Python ライブラリ (ネットワークスキャン用)。# Install the required Python package
pip install zeroconf
引数なしでスクリプトを実行するだけです。ローカルネットワークで4秒間リスンし、ワイヤレスデバッグが有効な Android デバイスの mDNS ブロードキャストをキャッチし、メニューを表示します。
python3 adb_tls_exploit.py
出力例:
[*] Scanning local network for Android 13+ devices for 4 seconds...
[+] Found active Android devices:
[1] 192.168.1.15 : 43881 | Pixel 7
[2] 192.168.1.42 : 39105 | Oppo Reno5 Z
Select a device to target [1-2]: 2
============================================================
ADB TLS Auth Bypass -> Interactive Shell
============================================================
[*] Target : 192.168.1.42:39105
[*] Key type : ec
[*] Generating ec self-signed certificate via openssl...
[+] Server requested STLS. Upgrading to TLS...
[+] TLS handshake accepted — mutual authentication bypassed!
[*] Authenticated! Opening interactive shell service...
[+] Shell obtained! (Press Ctrl+D to exit)
Reno5Z:/ $ id
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb)...
ターゲットの IP アドレスとランダム化されたポートを既に知っている場合 (または、TLS を必要とするようにパッチが適用されたポート 5555 のレガシーデバイスをターゲットにしている場合)、スキャナーをバイパスできます:
python3 adb_tls_exploit.py <IP_ADDRESS> <PORT> [--key ec|ed25519] [--verbose]
# Example
python3 adb_tls_exploit.py 192.168.1.50 42069 --key ec
zeroconf ライブラリを使用して _adb-tls-connect._tcp.local. サービスを受動的にリスンします。これにより、ノイズの多い遅い TCP ポートスキャンを行わずに、即座にターゲットをマッピングできます。tls_auth) を通知する標準の ADB CNXN パケットを送信します。STLS で応答し、安全な接続を要求します。ec) または ed25519 鍵を使用して新しく生成された自己署名証明書を提示します。adbd は鍵の検証を試みます。鍵が RSA ではないため、EVP_PKEY_cmp は -1 または -2 を返します。Android 内部の脆弱なコードは、このゼロ以外の戻り値を暗号的一致が成功したと誤解します。shell\x00 宛先の OPEN パケットを送信し、標準入出力ストリームを端末に結び付け、完全な非特権シェル () を提供します。/data/misc/adb/adb_keys ファイルが完全に空である可能性があります。エクスプロイトは、キーストア内に少なくとも1つの既存の (無関係でも) 鍵があることを必要とし、それによって欠陥のあるループ比較がトリガーされます。apt install openssl、brew install openssl、または Windows バイナリ経由でインストール)。uid=2000