⚠️

Next.jsのSSRF脆弱性 CVE-2024-34351

に公開
5

Discussion

azuazu

redirect()に渡したパスにしかリクエストが行えない

攻撃用のサーバを用意して、hostで攻撃用のサーバを指定しておいて、
攻撃用のサーバはgetに対して、302 redirectをレスポンスを返せば、
Fetch APIはredirectがfollowがデフォルトなので、任意のウェブサイトのコンテンツを取得して、攻撃者はレスポンスとしてそのコンテンツを取得できると思います。

なので、Metadataを取得するとかの攻撃ができるかもしれないですね(別のヘッダが必要で通らない場合も多そうですが)

akfm_satoakfm_sato

なんと、、、不勉強でした。
ご指摘ありがとうございます、修正しました!

mizdramizdra

今回のNext.jsの脆弱性はhttpヘッダーのHostを書き換えることで、self hostingなNext.jsサーバーからhttpリクエストを送信できてしまうというものです。

この文面だと、Next.jsサーバーから HTTP リクエストが送信できることが悪いことかのような書きぶりになってしまっていますが、そうではなくて、攻撃者が意図した任意の HTTP リクエストが送れてしまうことが悪いと言いたいのかなと想像しています。それがより正確に伝わるよう、「self hostingなNext.jsサーバーから任意のhttpリクエストを送信できてしまう」などと書き換えてはどうかと思ったのですが、いかがでしょうか?

akfm_satoakfm_sato

ご指摘ありがとうございます。ごもっともです。
修正しました!