30秒で判断
- 対応すべき人: @react-router/node 7.0.0〜7.9.3、または@remix-run/node・@remix-run/deno 2.17.2未満で
createFileSessionStorage()を署名なしCookieで使っている方 - 対応不要な人: ファイルセッションストレージを使用していない、署名付きCookieを使っている、または修正版へ更新済みの方
- 確認コマンド:
npm ls @react-router/node @remix-run/node @remix-run/deno
概要
React Router(およびRemix)において、createFileSessionStorage()を署名なしCookieとともに使用している場合、攻撃者がセッションIDを操作することで、指定したセッションファイルディレクトリの外側のファイルを読み書きしようとさせられる脆弱性です。
攻撃の成否はWebサーバープロセスのファイルアクセス権限に依存します。読み取られたファイルが攻撃者に直接返されることはなく、またセッションファイル形式に一致する場合のみ読み込みが成立しますが、意図しないパスへのアクセスを許す点でCritical(CVSS 9.1)と評価されています。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 9.1 |
| 深刻度 | Critical |
| CWE | CWE-22 (パストラバーサル) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| @react-router/node | Remix / React Router | 7.0.0 〜 7.9.3 |
| @remix-run/node | Remix | < 2.17.2 |
| @remix-run/deno | Remix | < 2.17.2 |
修正バージョンと回避策
- 修正バージョン: @react-router/node 7.9.4、@remix-run/node 2.17.2、@remix-run/deno 2.17.2以降へアップデート
- 回避策: セッションCookieに署名を付与する(署名付きCookieを使用する)
関連リンク
データソース: NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
