2025/04/03 SecurityOnline — React Router が公表したのは、React アプリケーションにおけるルーティング管理で使用される、一般的なライブラリで発見された脆弱性 CVE-2025-31137 に関する情報である。
この脆弱性を悪用する攻撃者は、Host ヘッダーと X-Forwarded-Host ヘッダーを介して URL を操作し、さまざまなエクスプロイトを引きこす可能性を手にする。セキュリティ研究者である Rachid Allam と Yasser Allam のレポートでは、この問題が詳しく説明されている。

React Router は広く使用されているライブラリであり、あるレポートによると、毎週 1,320万回以上ダウンロードされているという。この脆弱性は、Express アダプターを使用する Remix 2/React Router 7 ユーザーに影響を及ぼす。このレポートでは、「潜在的な影響は大きく、複数のエクスプロイトにつながる可能性がある」と指摘されている。
この問題の原因は、React Router の Express アダプターが、Host ヘッダーと X-Forwarded-Host ヘッダーを処理する方法にある。レポートには、「ポートのサニタイズが不足しているため、ホストまたは x-forwarded-host ヘッダーから、任意のパスをダイレクトに呼び出すことが可能だ」と記されている。
両方のヘッダーに悪用の可能性があるが、研究者たちは X-Forwarded-Host の方を重視している。彼ら、「両方のヘッダーの悪用が可能だが、設定が valid/possible locally の場合であっても、Host 値を操作すると大半の Reverse Proxy/CDN がエラーを発生するため、x-forwarded-host に焦点を当てる」と説明している。したがって、両方のヘッダーが存在する場合には、X-Forwarded-Host ヘッダーへの対処が優先される。
この脆弱性により、次のような攻撃ベクターが生じる可能性がある:
- Cache Poisoning Denial of Service (CPDoS):URL とレスポンス・コードを操作する機能が悪用され、キャッシュがポイズニングされ、アプリケーションの可用性が損なわれる。
- WAF (Web Application Firewalls) Bypass:URL とヘッダーに、戦略的にペイロードを分割する攻撃者は、WAF をバイパスし、SQL インジェクション攻撃などの可能性を手にする。
- Escalated XSS:キャッシュ・システムが導入されている場合において、反射型 XSS 攻撃が、蓄積型 XSS へとエスカレートする可能性がある。
すでに React Router は、最新バージョン Remix 2.16.3/React Router 7.4.1をリリースし、この脆弱性に対処している。影響を受けるバージョンのユーザーに対して、強く推奨されるのは、修正されたバージョンへと速やかに更新し、このリスクを軽減することだ。
ルーティング機能を提供するライブラリ React Router に、脆弱性が発見されました。ヘッダーを少し操作するだけでキャッシュ汚染や WAF バイパスが可能になるなんて、驚きました。便利なツールだからこそ、安全に使うための知識は、前提として持っておくべきなのでしょう。よろしければ、Open Source + Library で検索も、ご参照下さい。
You must be logged in to post a comment.