注目★★★★★GitHub Advisory
Orval 8.19.0にimport時RCE、zod生成処理のdefaultを悪用
30秒で把握
- 1Orval 8.19.0でOpenAPIのdefault値からimport時RCEが成立
- 2未エスケープのtemplate literalに`${...}`を注入、CVSS v4は9.3
- 3外部影響下のOpenAPI定義から生成したzod moduleが対象
要約
Orval 8.19.0のzodスキーマ生成に、OpenAPIのdefault値からimport時に任意コードを実行できる脆弱性がある。配列要素のdefault値を未エスケープのJavaScriptテンプレートリテラルへ出力し、`v${<code>}w`形式で式を注入できる。生成されたzodモジュールをimportするだけで実行され、追加のリクエストや関数呼び出しは不要。攻撃者が制御または影響を与えられるOpenAPI定義を使うアプリケーションが影響を受け、CVSS v4は9.3。default値をJSON.stringifyなどで文字列化し、すべてのdefault出力箇所を修正する必要がある。
あなたへの影響
Orvalで外部入力を含むOpenAPI定義からzodスキーマを生成するチームは、影響バージョンの利用状況を確認し、修正版への更新または生成物の監査を即時実施してください。
推奨:修正版が未提供なら、生成コード内のdefault値を文字列リテラルとして安全にエンコードしてください。