Hugging Face LeRobot の脆弱性により、認証なしでのリモートコード実行攻撃が可能に

Hugging Face の LeRobot(AI とリサーチコミュニティで広く採用されているオープンソースのロボティクス機械学習フレームワーク)で、重大なリモートコード実行(RCE)脆弱性が発見されました。

CVE-2026-25874 として追跡されているこの欠陥は、CVSS スコア 9.8 を持っており、認証なしの攻撃者が脆弱な展開でのシステムコマンド実行を可能にします。

21,500 を超える GitHub スターを持つ LeRobot の人気は、特に分散 GPU ベースの推論を活用する本番環境での潜在的な影響を大幅に増幅します。

この脆弱性は、LeRobot の非同期推論アーキテクチャに起因しており、ここではポリシー計算が gRPC ベースの PolicyServer 経由で GPU バックアップサーバにオフロードされます。

問題は、複数の RPC エンドポイント全体で受信データを逆シリアル化するために、Python の安全でない pickle.loads() 関数に依存していることに起因しています。

リスクを複合化して、gRPC サービスは add_insecure_port() を使用して構成されています。つまり、通信はトランスポート層セキュリティ(TLS)と認証制御を欠いています。

この組み合わせにより、ネットワークアクセス権を持つ任意の攻撃者がサービスに直接細工されたペイロードを送信できます。

pickle は本来的に逆シリアル化中に任意のコード実行を許可するため、このデザイン欠陥は完全なシステム侵害への直接的なパスを作成します。

このシーケンスは重大です:悪意のあるペイロードは逆シリアル化中に実行され、isinstance() のような検証チェックが適用される前に実行されます。その結果、形式が悪い、または予期しないオブジェクトでもコード実行をトリガーできます。

たとえば、攻撃者は逆シリアル化時にシステムレベルのコマンドを実行するシリアル化されたペイロードに埋め込まれた悪意のある Python オブジェクトを作成できます。

検証が遅すぎるため、ペイロードはオブジェクトが最終的に拒否されるかどうかに関係なく実行されます。

注目すべきことに、影響を受けたコード セクションには、セキュリティ linter の警告を抑制する #nosec コメントが含まれており、開発者は安全でない逆シリアル化に関連するリスクを認識していたが、セーフガードをバイパスしたことを示唆しています。

このような構成では、攻撃面が大幅に拡大します。脅威行為者はネットワークをスキャンして公開されたインスタンスを検索し、認証または高度なターゲティングなしで 悪意のあるペイロード を配信でき、脆弱性は大規模で高度に悪用可能になります。

LeRobot を使用している組織は、CVE-2026-25874 を軽減するための即座の対策を講じるべきです:

この脆弱性は、機械学習エコシステムの再発する問題を強調しています:安全なコーディング慣行よりも迅速なプロトタイピングを優先すること。

シリアル化リスクに対処するための Hugging Face の safetensors の開発にもかかわらず、LeRobot に pickle ベースの RCE 欠陥が存在することは、一貫性のないセキュリティ実装を強調しています。

ML フレームワークが本番環境とロボティクス システムへの統合を継続する中、特に信頼できないネットワーク入力を処理する分散アーキテクチャでは、セキュアな設計原則はオプションではなく基本的なものになる必要があります。

翻訳元: https://cyberpress.org/hugging-face-lerobot-vulnerability/

ソース: cyberpress.org