Skip to content
Heist/ feed
Back to feed
High

SSRF vulnerability in opennextjs-cloudflare via /_next/image endpoint

Type: advisorySources: OSV

A Server-Side Request Forgery (SSRF) vulnerability was identified in the @opennextjs/cloudflare package. The vulnerability stems from an unimplemented feature in the Cloudflare adapter for Open Next, which allowed unauthenticated users to proxy arbitrary remote content via the /_next/image endpoint. This issue allowed attackers to load remote resources from arbitrary hosts under the victim site’s domain for any site deployed using the Cloudflare adapter for Open Next. For example: https://victim-site.com/_next/image?url=https://attacker.com In this example, attacker-controlled content from attacker.com is served through the victim site’s domain (victim-site.com), violating the same-origin policy and potentially misleading users or other services. Impact: * SSRF via unrestricted remote URL loading * Arbitrary remote content loading * Potential internal service exposure or phishing risks through domain abuse Mitigation: The following mitigations have been put in place: * Server side updates to Cloudflare’s platform to restrict the content loaded via the /_next/image endpoint to images. The update automatically mitigates the issue for all existing and any future sites deployed to Cloudflare using the affected version of the Cloudflare adapter for Open Next * Root cause fix https://github.com/opennextjs/opennextjs-cloudflare/pull/727 to the Cloudflare adapter for Open Next. The patched version of the adapter is found here @opennextjs/cloudflare@1.3.0 https://www.npmjs.com/package

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-6087, CVE-2026-3125
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 03:19 UTC · Revision 1

Source evidence

SSRF vulnerability in opennextjs-cloudflare via /_next/image endpoint

core-osv · Original source

Published 16 Jun 2025, 18:30 UTC

A Server-Side Request Forgery (SSRF) vulnerability was identified in the @opennextjs/cloudflare package. The vulnerability stems from an unimplemented feature in the Cloudflare adapter for Open Next, which allowed unauthenticated users to proxy arbitrary remote content via the /_next/image endpoint. This issue allowed attackers to load remote resources from arbitrary hosts under the victim site’s domain for any site deployed using the Cloudflare adapter for Open Next. For example: https://victim-site.com/_next/image?url=https://attacker.com In this example, attacker-controlled content from attacker.com is served through the victim site’s domain (victim-site.com), violating the same-origin policy and potentially misleading users or other services. Impact: * SSRF via unrestricted remote URL loading * Arbitrary remote content loading * Potential internal service exposure or phishing risks through domain abuse Mitigation: The following mitigations have been put in place: * Server side updates to Cloudflare’s platform to restrict the content loaded via the /_next/image endpoint to images. The update automatically mitigates the issue for all existing and any future sites deployed to Cloudflare using the affected version of the Cloudflare adapter for Open Next * Root cause fix https://github.com/opennextjs/opennextjs-cloudflare/pull/727 to the Cloudflare adapter for Open Next. The patched version of the adapter is found here @opennextjs/cloudflare@1.3.0 https://www.npmjs.com/package

osv:CVE-2025-6087
Complete source record
{
  "id": "76edccc4a8f1abd6439d3b2c013ca78dc7c4c8dc44420935224242eb94bc53f0",
  "url": "https://osv.dev/vulnerability/CVE-2025-6087",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "SSRF vulnerability in opennextjs-cloudflare via /_next/image endpoint",
    "summary": "A Server-Side Request Forgery (SSRF) vulnerability was identified in the @opennextjs/cloudflare package. The vulnerability stems from an unimplemented feature in the Cloudflare adapter for Open Next, which allowed unauthenticated users to proxy arbitrary remote content via the /_next/image endpoint. This issue allowed attackers to load remote resources from arbitrary hosts under the victim site’s domain for any site deployed using the Cloudflare adapter for Open Next. For example: https://victim-site.com/_next/image?url=https://attacker.com In this example, attacker-controlled content from attacker.com is served through the victim site’s domain (victim-site.com), violating the same-origin policy and potentially misleading users or other services. Impact: * SSRF via unrestricted remote URL loading * Arbitrary remote content loading * Potential internal service exposure or phishing risks through domain abuse Mitigation: The following mitigations have been put in place: * Server side updates to Cloudflare’s platform to restrict the content loaded via the /_next/image endpoint to images. The update automatically mitigates the issue for all existing and any future sites deployed to Cloudflare using the affected version of the Cloudflare adapter for Open Next * Root cause fix https://github.com/opennextjs/opennextjs-cloudflare/pull/727 to the Cloudflare adapter for Open Next. The patched version of the adapter is found here @opennextjs/cloudflare@1.3.0 https://www.npmjs.com/package",
    "evidence": "osv:CVE-2025-6087",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-6087",
      "aliases": [
        "CVE-2025-6087",
        "CVE-2026-3125",
        "GHSA-c7mq-gh6q-6q7c",
        "GHSA-rvpw-p7vw-wj3m"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:H/SI:L/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/opennextjs/opennextjs-cloudflare",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "689327def78963908359406850ece99824ee1677"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.3.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:opennextjs:opennext_for_cloudflare:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.3.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "@opennextjs/cloudflare@1.2.1",
            "@opennextjs/cloudflare@1.2.0",
            "@opennextjs/cloudflare@1.1.0",
            "@opennextjs/cloudflare@1.0.4",
            "@opennextjs/cloudflare@1.0.3",
            "@opennextjs/cloudflare@1.0.2",
            "@opennextjs/cloudflare@1.0.1",
            "@opennextjs/cloudflare@1.0.0",
            "@opennextjs/cloudflare@1.0.0-beta.4",
            "@opennextjs/cloudflare@1.0.0-beta.3",
            "@opennextjs/cloudflare@1.0.0-beta.2",
            "@opennextjs/cloudflare@1.0.0-beta.1",
            "@opennextjs/cloudflare@1.0.0-beta.0",
            "@opennextjs/cloudflare@0.6.6",
            "@opennextjs/cloudflare@0.6.5",
            "@opennextjs/cloudflare@0.6.4",
            "@opennextjs/cloudflare@0.6.3",
            "@opennextjs/cloudflare@0.6.2",
            "@opennextjs/cloudflare@0.6.1",
            "@opennextjs/cloudflare@0.6.0",
            "@opennextjs/cloudflare@0.5.12",
            "@opennextjs/cloudflare@0.5.11",
            "@opennextjs/cloudflare@0.5.10",
            "@opennextjs/cloudflare@0.5.9",
            "@opennextjs/cloudflare@0.5.8",
            "@opennextjs/cloudflare@0.5.7",
            "@opennextjs/cloudflare@0.5.6",
            "@opennextjs/cloudflare@0.5.5",
            "@opennextjs/cloudflare@0.5.4",
            "@opennextjs/cloudflare@0.5.3",
            "@opennextjs/cloudflare@0.5.2",
            "@opennextjs/cloudflare@0.5.1",
            "@opennextjs/cloudflare@0.5.0",
            "@opennextjs/cloudflare@0.4.8",
            "@opennextjs/cloudflare@0.4.7",
            "@opennextjs/cloudflare@0.4.6",
            "@opennextjs/cloudflare@0.4.5",
            "@opennextjs/cloudflare@0.4.4",
            "@opennextjs/cloudflare@0.4.3",
            "@opennextjs/cloudflare@0.4.2",
            "@opennextjs/cloudflare@0.4.1",
            "@opennextjs/cloudflare@0.4.0",
            "@opennextjs/cloudflare@0.3.10",
            "@opennextjs/cloudflare@0.3.9",
            "@opennextjs/cloudflare@0.3.8",
            "@opennextjs/cloudflare@0.3.7",
            "@opennextjs/cloudflare@0.3.6",
            "@opennextjs/cloudflare@0.3.5",
            "@opennextjs/cloudflare@0.3.4",
            "@opennextjs/cloudflare@0.3.3",
            "@opennextjs/cloudflare@0.3.2",
            "@opennextjs/cloudflare@0.3.1",
            "@opennextjs/cloudflare@0.3.0",
            "@opennextjs/cloudflare@0.2.1",
            "@opennextjs/cloudflare@0.2.0",
            "@opennextjs/cloudflare@0.1.1",
            "@opennextjs/cloudflare@0.1.0",
            "@opennextjs/cloudflare@0.0.3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-6087.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:53.200520329Z",
      "provider": "osv",
      "references": [
        "https://github.com/opennextjs",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/6xxx/CVE-2025-6087.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-6087",
        "https://github.com/opennextjs/opennextjs-cloudflare"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "cloudflare",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/6xxx/CVE-2025-6087.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-6087",
        "evidence": "/id"
      },
      {
        "value": "CVE-2026-3125",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 522152,
  "published_at": "2025-06-16T18:30:44.18+00:00"
}