Skip to main content

Next.js EUVDEUVD-2026-91671

| CVE-2026-94483 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-02 GitHub_M GHSA-cjq9-62q9-8jv4
High
Disputed · 8.3 Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Control DNS for allow-listed host
  2. Delivery
    Submit image optimization request
  3. Exploit
    Allow-list check resolves to public IP
  4. Execution
    Rebind DNS to private IP
  5. Persist
    Socket fetches internal resource
  6. Impact
    Exfiltrate 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).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

next.js 16.0.0, < 16.3.8

Affected Packages

npm next fix: 16.3.8
euvd next_js_16_0_0 fix: 16.3.8

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)
Vendor (GitHub_M) PRIMARY 8.3 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
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Red Hat 3.7 LOW

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

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 02, 2026 - 16:02 EUVD
CVE Published
Oct 02, 2026 - 15:18 cve.org
HIGH 8.3

DescriptionCVE.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
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch (Next.js 16.3.8).

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
High
Next.js is a very widely deployed full-stack web framework
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

CVE-2025-55182 CRITICAL POC
10.0 Dec 03

React Server Components in React 19.x contain a critical pre-authentication remote code execution vulnerability (CVE-202

CVE-2017-16877 HIGH POC
7.5 Nov 17

ZEIT Next.js before 2.4.1 has directory traversal under the /_next and /static request namespace, allowing attackers to

CVE-2025-55184 HIGH POC
7.5 Dec 11

Pre-authentication denial of service in React Server Components (versions 19.0.0 through 19.2.1) allows unauthenticated

CVE-2025-55183 MEDIUM POC
5.3 Dec 11

Information disclosure in React Server Components 19.x, distributed as react-server-dom-webpack, react-server-dom-turbop

CVE-2026-75604 CRITICAL POC
9.0 Sep 01

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

CVE-2024-34351 HIGH POC
7.5 May 14

Next.js is a React framework that can provide building blocks to create web applications. Rated high severity (CVSS 7.5)

CVE-2023-46298 HIGH POC
7.5 Oct 22

Next.js before 13.4.20-canary.13 lacks a cache-control header and thus empty prefetch responses may sometimes be cached

CVE-2018-6184 HIGH POC
7.5 Jan 24

ZEIT Next.js 4 before 4.2.3 has Directory Traversal under the /_next request namespace. Rated high severity (CVSS 7.5),

CVE-2025-67779 HIGH
7.5 Dec 12

Unsafe deserialization in React Server Components Server Function endpoints allows remote unauthenticated attackers to t

CVE-2020-5284 MEDIUM POC
4.3 Mar 30

Next.js versions before 9.3.2 have a directory traversal vulnerability. Rated medium severity (CVSS 4.3), this vulnerabi

CVE-2024-51479 HIGH
7.5 Dec 17

Next.js is a React framework for building full-stack web applications. Rated high severity (CVSS 7.5), this vulnerabilit

CVE-2024-47831 HIGH
7.5 Oct 14

Next.js is a React Framework for the Web. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy