セキュリティ研究者のBoschko氏は、Unitreeのヒューマノイドロボット「G1」に2件の脆弱性が存在することを明らかにしました。この脆弱性を悪用すると、近距離にある機器からBluetooth Low Energy(BLE)経由で認証を経ずにリモートコード実行(RCE)が可能になります。
「UniBLEed」と名付けられたこの研究によると、この攻撃はモーター、カメラ、音声などの基幹機能を担う「Locomotion PC」と呼ばれるコンポーネントを、BLEのペアリングを一切必要とせずに侵害できるとされています。
Unitree G1ヒューマノイドロボットの脆弱性
この脆弱性にはCVE-2026-76639とCVE-2026-76640という識別子が割り当てられています。このうち後者は、Bluetooth関連の攻撃チェーンを指すものです。
0xFFE2として識別されるGATTキャラクタリスティックは、基本的なWRITE権限のみで書き込みを受け付けていました。そのため、近くにいる機器であれば認証やペアリングを行わずにやり取りできる状態になっていました。
平文のブートストラップコマンドを送ると、そのロボット固有のAES-128鍵がRSA暗号化されたレスポンスに包まれた形で返されていました。
通常であれば、この鍵のラッピング処理によって安全性が保たれるはずです。しかし研究者は、Unitreeのクラウド側APIエンドポイント「/device/bindExtData」がこのデータを復号し、認証済みのUnitreeアカウントであれば誰にでも平文の鍵を返してしまうことを発見しました。
データ復旧サービス
さらに憂慮すべきことに、このAPIはリクエストに添えられたシリアル番号の所有権を検証していませんでした。つまり、ターゲットの近くにいるだけで、そのロボットのBLEバージョン3のセットアップとWi-Fi設定に紐づく固有の秘密鍵を入手できてしまう状態だったのです。
研究者のBoschko氏はこの鍵を入手すると、保護されたBLE操作にアクセスできるようになりました。そして、wpa_connect.shというスクリプト内の安全でないWi-Fiフォールバック機能を発動させるために、121バイトの事前共有鍵が使用されました。
攻撃者が制御するデータがクォートされていないヒアドキュメントに挿入される仕組みになっていたため、生成されるwpa_supplicantの設定ファイルを改ざんすることが可能でした。これにより、ロボットを攻撃者が用意したホットスポットに接続させることができました。
攻撃の最終段階では、root権限で動作するBluetoothサービス「btgatt-server」が標的となりました。報告書によると、500バイトのwifi_ssidバッファに対して1,050バイトの入力が書き込まれる形で処理されていたとのことです。
このオーバーフローと、アドレスのランダム化を無効化する情報漏えいを組み合わせることで、攻撃者はイベントループのクリーンアップ状態を改ざんし、system()コマンドに任意のコマンドをroot権限で実行させることに成功しました。研究者によれば、この結果Bluetoothサービス自体はクラッシュするものの、バックグラウンドのシェルは動作し続けたということです。
CVE-2026-76639は、G1のAIサービス「chat_go」とbashrunnerに関わる、root権限でのRCEに至る別経路を示すものです。ナレッジベースのアップロード処理に存在するパストラバーサルの脆弱性により、bashrunnerのホワイトリストディレクトリにファイルを書き込むことが可能でした。
bashrunnerはインポート時にホワイトリストを構築し、拡張子を考慮しないシェルルールに基づいてファイルを実行する仕組みになっています。このためこの組み合わせによってroot権限での実行が可能になりました。また、BLEの攻撃チェーンの文脈では、この問題はBluetoothデーモン内のアドレスを漏えいさせる手段としても機能していました。
これらの脆弱性がもたらす影響は、単にロボットを制御されるだけにとどまりません。報告書によると、Locomotion PCはリアルタイムLinuxカーネル上で動作し、モーター、カメラ、音声、音声認識といった主要機能を管理するサービスをroot権限で実行しているとのことです。
研究者はまた、侵害後にデバイスの秘密情報や認証情報にもアクセスできたと報告しています。この事実は、モバイル側のプロビジョニング、クラウドアカウントの認可、ローカルの無線インターフェース、そして安全性が重視される制御サービスを厳密に分離する必要性を改めて浮き彫りにしています。
Unitreeは協調的な脆弱性開示のプロセスの中で両方の攻撃チェーンを検証済みとされており、AES鍵を返す前にアカウントとロボットの所有権が一致するかどうかを確認するチェックを追加したとのことです。
研究者によると、パッチによって報告された問題のほとんど、あるいはすべてが解消されたとのことです。ただし、今回の調査結果はあくまでテストしたビルドの状態を反映したものであり、現行のG1の状態を示すものではない点に注意が必要だと述べています。
このバグは4台のG1実機で再現が確認され、研究者はこの功績に対して合計5,000ドルの報奨金を受け取りました。運用者に対しては、Unitreeが提供するアップデートの適用、稼働中のロボットへの物理的・Bluetooth的な接近の制限、アカウントアクセス権限の見直し、そして修復が確認できるまで対象システムを潜在的に安全でないものとして扱うことが推奨されています。
調査の遅れによるインシデントを防ぎましょう。15,000のSOCが活用する脅威インテリジェンスで、Tier 1のセキュリティ運用を強化できます: TI LookupをSOCに統合する
翻訳元: https://gbhackers.com/unitree-g1-humanoid-robot-flaws/