本文へスキップ
MameTechNews
バックエンド

OpenHandsのSDK、1.52.0未満は認証なしのサンドボックスが残る

## POINTS

  • 攻撃が成立するのは、公開されたコンテナポートへ届く場合だ。ループバックだけで閉じている構成は、記録の条件を満たさない。
  • 届いた相手は認証なしで、サンドボックス内のrootとしてシェルを実行し、マウントした作業領域と平文の秘密情報を読める。
  • 直しが入った1.52.0は10月5日のリリースで、ポート公開をループバックへ変える修正として並んでいる。CVEの説明は10月26日更新だ。

CVEプログラムの記録は10月26日に更新され、OpenHands Software Agent SDKの1.52.0より前に、認証のないリモートコード実行があると記している。CVSSは4.0で9.3、3.1で9.8だ。弱点の分類はCWE-1327で、発見者はmil4n氏である。

DockerWorkspaceとApptainerのワークスペース起動は、サンドボックスのエージェントサーバを0.0.0.0へバインドする。session_api_keysが空だと、認証は無効になる。公開されたコンテナのポートへ到達できる攻撃者は、認証なしのHTTPとWebSocketで、サンドボックス内のrootとして任意のシェルを実行できる。マウントされた作業領域へのアクセスと、シークレットストアにある平文の秘密情報の読み取りも、記録に含まれている。

影響範囲はバージョン0から1.52.0の手前までで、それ以外は影響なしとされている。1.52.0のリリース自体は10月5日で、変更一覧にはワークスペースのDockerポートをループバックで公開する修正がある。見出しだけでは、未認証でrootのコマンドが実行できる欠陥だとは読み取りにくい。

ポートをホストの外や、クラスタ内の広い範囲へ出しているエージェント基盤が対象になる。ループバックだけで外から届かない構成は、記録にある攻撃条件を満たさない。公開している場合は1.52.0以降へ上げ、そのポートに誰が到達できたかで秘密情報の置き直しを判断する。