Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessControl DNS for allow-listed host
-
DeliverySubmit image optimization request
-
ExploitAllow-list check resolves to public IP
-
ExecutionRebind DNS to private IP
-
PersistSocket fetches internal resource
-
ImpactExfiltrate internal/metadata response
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the target application to have images.remotePatterns configured (applications without it are explicitly not affected) AND an attacker-influenceable DNS resolution for a host that passes that allow-list - either an allow-listed host whose DNS records are not trusted, or an attacker-controlled host matching a pattern on which DNS rebinding can be performed. Limiting factors: the attacker must win the timing window between the allow-list check and the socket's independent DNS lookup (reflected by AC:H/AT:P), so this is a race condition rather than a deterministic single-request exploit; no authentication or user interaction is required (PR:N/UI:N). Fixed by pinning the connection to the already-validated addresses in 16.3.8. |
| Impact | This is a genuine but conditionally-gated SSRF (CWE-918). The provided CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N) and 8.3 HIGH score describe an unauthenticated, network-reachable attack, but the elevated attack complexity (AC:H) and attack requirements (AT:P) correctly reflect that successful exploitation depends on winning a DNS resolution race (TOCTOU between the allow-list check and the socket's own lookup - classic DNS rebinding). No EPSS score, KEV listing, or POC was supplied in the input, so exploitation probability cannot be quantified from the data; based on signals present this is no public exploit identified at time of analysis. The real-world risk is tightly scoped: the vendor advisory and description both state applications without images.remotePatterns are not affected, so this is NOT a blanket risk to all Next.js deployments despite the framework's huge footprint. Impact is primarily confidentiality (VC:H - reaching internal services and cloud metadata endpoints) with limited integrity (VI:L) and no availability impact. Priority should be HIGH for environments that use remote image optimization with allow-listed hosts whose DNS records are not fully trusted, and LOW for the many deployments that do not configure remotePatterns. No conflicting signals in the data itself; the main gap is the absence of exploitation-probability telemetry (EPSS/KEV/POC not provided). |
| Exploit ScenarioDerived | An attacker registers or controls a hostname that matches an entry in the victim application's images.remotePatterns allow-list (or influences DNS for an already-allow-listed host). During the allow-list validation the hostname resolves to a benign public IP, but by the time the optimizer's socket performs its own DNS lookup the record has been rebound to a private/internal IP (e.g. 169.254.169.254 cloud metadata or an internal service), causing the server to fetch attacker-chosen internal resources. No public proof-of-concept was provided in the input; exploitation requires winning the DNS resolution timing window (reflected by AC:H/AT:P). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Server-side request forgery in the Next.js Image Optimization endpoint lets a remote, unauthenticated attacker cause the server to fetch images from private or internal IP addresses, but only in applications that have configured images.remotePatterns. Affected releases are Next.js 16.0.0 through 16.3.7; the flaw is fixed in 16.3.8 by pinning the outbound connection to the DNS addresses that were already validated against the allow-list. Exploitation is not deterministic - the attacker must win a timing race between the allow-list check and the socket's own DNS lookup (DNS rebinding), consistent with the high attack-complexity rating - and no public exploit code has been identified at time of analysis (EPSS/KEV signals were not provided).
RemediationAI
Upgrade to Next.js 16.3.8 or later (vendor-released patch: 16.3.8), which implements the pinned-lookup fix; the change is visible in commit e002ad68bd676bb0ed0c87bb22e3590304763e0b and the release notes at https://github.com/vercel/next.js/releases/tag/v16.3.8. Organizations that cannot upgrade immediately should audit every host currently listed in images.remotePatterns and remove any entry whose DNS records are not under their direct control or are otherwise untrusted, since a hostname that can be re-pointed after the allow-list check is the precondition for exploitation; note that this will break image optimization for the removed hosts until a trusted equivalent is configured. Reducing reliance on wildcard patterns (for example, matching only exact, owned hostnames) narrows the attack surface with the same availability trade-off. As a defence-in-depth compensating control, restrict the server's outbound egress so that it cannot reach loopback, link-local (169.254.0.0/16, fe80::/10), and RFC1918/ULA address ranges; this can be enforced by a network policy, egress proxy, or firewall rule, but it must be applied outside the application and may interfere with legitimate integrations that rely on internal image hosts. Keep the internal dangerouslyAllowLocalIP option disabled, because it selects the permissive agents that bypass the protected lookup path. After upgrading, verify that image optimization still succeeds for legitimate remote patterns, as the fix pins connections to pre-validated addresses.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Next.js Image Optimization accepts a remote URL, checks the hostname against the images.remotePatterns allow-list, and then fetches the image so it can be resized and transcoded. The defect is a classic CWE-918 server-side request forgery arising from a time-of-check/time-of-use gap: the allow-list validation resolved the hostname once, but the outgoing HTTP/HTTPS socket performed its own independent DNS lookup, so a hostname that passed the check could subsequently resolve to a loopback, link-local, or RFC1918 address (or an attacker-controlled name matching an allow-listed pattern could be rebound mid-flight). The upstream fix imports Node's http/https request and Agent classes, adds ImageHttpAgent/ImageHttpsAgent wrappers keyed by an imageLookupKey, and introduces a createPinnedLookup() LookupFunction that rejects any hostname mismatch and returns only the pre-validated LookupAddress list - removing the second resolution that enabled the rebinding. The patch also adds configurable agents with keepAlive and a 7-second timeout, upstream timeout handling returning HTTP 504, and decompression streams for br/gzip/deflate; agents are selected via a dangerouslyAllowLocalIP flag, with permissive agents used only when that unsafe option is explicitly enabled. The associated CPE cpe:2.3:a:vercel:next.js:*:*:*:*:*:*:*:* identifies the broader Vercel Next.js product line, and the vulnerability is driven by the image-optimizer server module rather than by the React rendering layer.
Know when Next Js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
Sources disagree (Low–High)CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Remote unauthenticated (PR:N) but requires winning a DNS-rebinding race against an allow-listed remotePattern host (AC:H); high confidentiality via internal/metadata access, limited integrity, no availability impact.
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Next.js is a React framework for building full-stack web applications. From 16.0.0 until 16.3.8, Image Optimization can follow attacker-controlled DNS resolution for a remote URL that matches images.remotePatterns, allowing the optimized image fetch to reach private IP addresses after the URL passes the allow-list check. Applications without images.remotePatterns are not affected. Administrators unable to upgrade should audit allow-listed hosts and avoid entries whose DNS records are not trusted. This issue is fixed in version 16.3.8.
Blast Radius
ecosystem impact- 28 npm packages depend on next (26 direct, 2 indirect)
Ecosystem-wide dependent count for version 16.0.0.
Technical POC Analysis
CWE-918 (Server-Side Request Forgery), per the CVE.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity server-side request forgery flaw in Next.js releases 16.0.0 through 16.3.7 lets an attacker who can reach the image optimization endpoint make the application server fetch content from internal or private network addresses, but only where images.remotePatterns has been configured. For leadership, the concern is not the image endpoint itself but the potential to turn an internet-facing web tier into a bridge into internal APIs, administrative interfaces, and cloud metadata services that are otherwise unreachable from outside. No public exploit code has been identified at time of analysis, and exploitation is not deterministic because the attacker must win a timing race, but the affected configurations are common in modern web estates and warrant prompt attention.
Apply vendor patch (Next.js 16.3.8).
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
React Server Components in React 19.x contain a critical pre-authentication remote code execution vulnerability (CVE-202
ZEIT Next.js before 2.4.1 has directory traversal under the /_next and /static request namespace, allowing attackers to
Pre-authentication denial of service in React Server Components (versions 19.0.0 through 19.2.1) allows unauthenticated
Information disclosure in React Server Components 19.x, distributed as react-server-dom-webpack, react-server-dom-turbop
Path traversal in Next.js (13.4.0 through 15.5.23 and 16.x before 16.3.3) running on Windows-hosted servers lets a remot
Next.js is a React framework that can provide building blocks to create web applications. Rated high severity (CVSS 7.5)
Next.js before 13.4.20-canary.13 lacks a cache-control header and thus empty prefetch responses may sometimes be cached
ZEIT Next.js 4 before 4.2.3 has Directory Traversal under the /_next request namespace. Rated high severity (CVSS 7.5),
Unsafe deserialization in React Server Components Server Function endpoints allows remote unauthenticated attackers to t
Next.js versions before 9.3.2 have a directory traversal vulnerability. Rated medium severity (CVSS 4.3), this vulnerabi
Next.js is a React framework for building full-stack web applications. Rated high severity (CVSS 7.5), this vulnerabilit
Next.js is a React Framework for the Web. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no
EUVD-2026-91671
GHSA-cjq9-62q9-8jv4
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB