Open Next SSRF Flaw in Cloudflare Lets Hackers Fetch Data from Any Host
2025/06/19 gbhackers — @opennextjs/cloudflare パッケージに、深刻なサーバ・サイド・リクエスト・フォージェリ (SSRF) の脆弱性が発見された。それにより、Open Next の Cloudflare アダプターを用いて展開される Web サイトに、重大なセキュリティ・リスクが生じている。この脆弱性 CVE-2025-6087 の悪用に成功した未認証の攻撃者は、脆弱なサイトのドメインを経由して、任意のリモート・コンテンツをプロキシ化し、その結果として、フィッシング/データ漏洩/ドメインの悪用などを引き起こす可能性を手にする。

この脆弱性は、Open Next 用の Cloudflare アダプターにおける未実装の保護機能に起因し、特に、/_next/image エンドポイントに影響を及ぼすという。 このエンドポイントは、Next.js アプリにおける画像の最適化のために広く使用されている。
影響を受けるデプロイメントでは、このエンドポイントにおける外部 URL の検証が失敗する。そのため攻撃者は、被害者サイトにおけるドメイン内の任意のホストから、リモート・リソースをロードできる。
たとえば、"https://victim-site.com/_next/image?url=https://attacker.com" へのリクエストは、攻撃者のドメイン (attacker.com) から送信されたコンテンツを、被害者のドメイン (victim-site.com) から送信されたように欺きながら表示する。つまり、同一オリジン・ポリシーに違反し、ユーザーやサービスを誤認させる恐れがある。
この SSRF 脆弱性により、いくつかの重大なリスクが生じている:
- セキュリティ制御をバイパスした攻撃者は、任意のリモート・コンテンツをプロキシすることで、内部サービスを公開する可能性を得る。
- フィッシング・キャンペーンにおいて、信頼されたドメインを装う、悪意のコンテンツが配信される。
- ユーザーや自動化されたシステムが、攻撃者が用意したリソースを誤って信頼するように誘導され、さらなる侵害のリスクが生じる。
| Field | Value |
| CVE ID | CVE-2025-6087 |
| Vulnerability Type | Server-Side Request Forgery (SSRF) |
| Vulnerable System Impact | Confidentiality: Low Integrity: Low Availability: None |
| CVSS v4 Base Score | 7.8 (High) |
| Severity | High |
この脆弱性は、バージョン 1.3.0 未満の Cloudflare アダプターを使用する、すべての Next.js サイトに影響を及ぼす。
この問題を報告したのは、セキュリティ研究者の Edward Coristine である。彼の発見は、画像プロキシ・ロジックにおける適切な検証の欠如と、SSRF 攻撃の可能性である。
緩和策と修正
すでに Cloudflare は、この問題に対処している。”/_next/image” エンドポイントにおいて、正当な画像コンテンツだけが読み込まれるように制限する、サーバ側での自動アップデートが導入されている。
この、プラットフォーム・レベルの修正により、対象アダプターを使用する既存/今後の全サイトにおいて、この脆弱性は緩和される。
さらに、Pull Request #727 により、根本的な原因がコードベースで修正され、パッチ適用バージョン @opennextjs/cloudflare@1.3.0 がリリースされた。
依存パッケージのチェーンも更新され、create-cloudflare@2.49.3 に、この修正が組み込まれた。
サイト運営者に推奨されるのは、最新のアダプターへのアップグレードと、Next.js コンフィグの remotePatterns フィルターの使用、信頼される外部画像ソースのホワイトリスト化などである。
脆弱性 CVE-2025-6087 が浮き彫りにするのは、エッジ展開プラットフォームにおける、堅牢なセキュリティ制御の重要性である。
この脆弱性は高リスクであるが、適切な情報開示と迅速な対応により、Cloudflare ユーザーへの実害は最小限に抑えられるだろう。
この記事で明らかになった SSRF 脆弱性 CVE-2025-6087 ですが、Cloudflare アダプターの不十分な検証処理を突くものと説明されています。特に Next.js の _next/image を狙った手口が巧妙という感じがします。ご利用のチームは、ご注意ください。よろしければ、Cloudflare で検索と、Next.js で検索も、ご参照ください。
You must be logged in to post a comment.