影響
開発者または CI ジョブが、攻撃者により制御または影響された OpenAPI 記述に対して影響を受ける Microsoft Kiota リリースを実行すると、外部 $ref エントリによって、ビルドホストがリモートの HTTP(S) リソースを取得したり、ローカルおよびプロジェクトツリー外のファイルを読み取ったりする可能性があります。参照された内容は生成されたクライアントコードにインライン化され、その後コミットまたは公開されることで、攻撃者が本来読み取れないデータを漏えいさせる経路となり得ます。ベンダーのアドバイザリで実証された影響は、サーバーサイドリクエストフォージェリとリモートまたはローカルのファイルインクルージョンに限定されており、コード実行は報告されていません [S1] [S2]。
根本原因
影響を受ける NuGet パッケージは Microsoft.OpenApi.Kiota と Microsoft.OpenApi.Kiota.Builder です。確認済みのアドバイザリでは、両パッケージについて 2 つの連続しない影響範囲が示されています。1.29.1 より前のリリースと、1.30.0 以上 1.32.5 未満のリリースです [S1] [S2]。これらのリリースでは、生成時に外部 OpenAPI 参照を解決する際、オリジンまたはパスに対するデフォルト拒否ポリシーがありませんでした。
対策
古いリリース系列は 1.29.1 に、現在のリリース系列は 1.32.5 以降にアップグレードしてください [S1] [S3] [S4]。修正済みリリースでは、信頼するオリジンまたはパスが明示的に許可されていない限り、外部参照がデフォルトで拒否されます。許可リストは必要最小限にし、ワイルドカードによる信頼を避け、生成前に外部 OpenAPI 記述を確認し、ビルドワーカーのネットワークおよびファイルシステムへのアクセスを制限してください。
FixVibe によるカバレッジ
FixVibe の GitHub リポジトリスキャンは、対応する .NET および NuGet のマニフェストとロックファイルから、Microsoft.OpenApi.Kiota と Microsoft.OpenApi.Kiota.Builder の影響を受ける依存関係の証拠を特定します。正確に解決されたバージョンは確度の高いバージョン証拠となり、影響を受けるリリースを含み得る宣言範囲は、より低い確度で報告されます。これはバージョンに基づくアドバイザリです。FixVibe は Kiota を実行せず、外部参照をたどらず、ファイルを読み取らず、プローブリクエストを行わず、OpenAPI 記述が攻撃者に制御されているかを判定せず、SSRF またはファイルインクルージョンが発生したとは断定しません [S1] [S2]。
