何が起きたか
InputSanitizer.sanitizePath()は、アンカーされていないstartsWith比較でトラバーサルを防ぎますが、ベースと接頭辞を共有する兄弟ディレクトリ名がこれを打ち負かすことができ、パスが意図されたベースディレクトリをエスケープすることを可能にします。
なぜ重要か
エージェントフレームワークのパスサニタイザーは、多くの他のファイル操作が依存する中心的な制御です。それが兄弟ディレクトリパスでバイパスされると、エージェントランタイム内の下流の読み書きが封じ込めを失い、このパッケージのより広範な信頼境界の失敗を悪化させます。
攻撃経路
サニタイザーは、ディレクトリ名が意図されたベースディレクトリと文字列接頭辞を共有し、その兄弟として位置するパスを受け入れるため、文字列チェックが通っても攻撃者制御のパスがベースディレクトリをエスケープします。これはパッケージ内の他のトラバーサル/プリミティブを悪化させます。
影響を受けるシステム
network-ai npmパッケージ、InputSanitizer.sanitizePath()、5.15.5より前のバージョン; 5.15.5で修正
緩和策
network-ai >= 5.15.5にアップグレードしてください。アンカーされていないstartsWithチェックを、正規のベースディレクトリに対する解決済みパスの封じ込め(およびセパレーター認識)に置き換えてください。