Vulnerability Details CVE-2026-44578
Next.js is a React framework for building full-stack web applications. From 13.4.13 to before 15.5.16 and 16.2.5, self-hosted applications using the built-in Node.js server can be vulnerable to server-side request forgery through crafted WebSocket upgrade requests. An attacker can cause the server to proxy requests to arbitrary internal or external destinations, which may expose internal services or cloud metadata endpoints. Vercel-hosted deployments are not affected. This vulnerability is fixed in 15.5.16 and 16.2.5.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.072
EPSS Ranking 91.8%
CVSS Severity
CVSS v3 Score 8.6
Products affected by CVE-2026-44578
-
cpe:2.3:a:vercel:next.js:13.4.13
-
cpe:2.3:a:vercel:next.js:13.4.14
-
cpe:2.3:a:vercel:next.js:13.4.15
-
cpe:2.3:a:vercel:next.js:13.4.16
-
cpe:2.3:a:vercel:next.js:13.4.17
-
cpe:2.3:a:vercel:next.js:13.4.18
-
cpe:2.3:a:vercel:next.js:13.4.19
-
cpe:2.3:a:vercel:next.js:13.4.20
-
cpe:2.3:a:vercel:next.js:13.5.0
-
cpe:2.3:a:vercel:next.js:13.5.1
-
cpe:2.3:a:vercel:next.js:13.5.10
-
cpe:2.3:a:vercel:next.js:13.5.11
-
cpe:2.3:a:vercel:next.js:13.5.2
-
cpe:2.3:a:vercel:next.js:13.5.3
-
cpe:2.3:a:vercel:next.js:13.5.4
-
cpe:2.3:a:vercel:next.js:13.5.5
-
cpe:2.3:a:vercel:next.js:13.5.6
-
cpe:2.3:a:vercel:next.js:13.5.7
-
cpe:2.3:a:vercel:next.js:13.5.8
-
cpe:2.3:a:vercel:next.js:13.5.9
-
cpe:2.3:a:vercel:next.js:14.0.0
-
cpe:2.3:a:vercel:next.js:14.0.1
-
cpe:2.3:a:vercel:next.js:14.0.2
-
cpe:2.3:a:vercel:next.js:14.0.3
-
cpe:2.3:a:vercel:next.js:14.0.4
-
cpe:2.3:a:vercel:next.js:14.0.5
-
cpe:2.3:a:vercel:next.js:14.1.0
-
cpe:2.3:a:vercel:next.js:14.1.1
-
cpe:2.3:a:vercel:next.js:14.1.2
-
cpe:2.3:a:vercel:next.js:14.1.3
-
cpe:2.3:a:vercel:next.js:14.1.4
-
cpe:2.3:a:vercel:next.js:14.2.0
-
cpe:2.3:a:vercel:next.js:14.2.1
-
cpe:2.3:a:vercel:next.js:14.2.10
-
cpe:2.3:a:vercel:next.js:14.2.11
-
cpe:2.3:a:vercel:next.js:14.2.12
-
cpe:2.3:a:vercel:next.js:14.2.13
-
cpe:2.3:a:vercel:next.js:14.2.14
-
cpe:2.3:a:vercel:next.js:14.2.15
-
cpe:2.3:a:vercel:next.js:14.2.16
-
cpe:2.3:a:vercel:next.js:14.2.17
-
cpe:2.3:a:vercel:next.js:14.2.18
-
cpe:2.3:a:vercel:next.js:14.2.19
-
cpe:2.3:a:vercel:next.js:14.2.20
-
cpe:2.3:a:vercel:next.js:14.2.21
-
cpe:2.3:a:vercel:next.js:14.2.22
-
cpe:2.3:a:vercel:next.js:14.2.23
-
cpe:2.3:a:vercel:next.js:14.2.24
-
cpe:2.3:a:vercel:next.js:14.2.25
-
cpe:2.3:a:vercel:next.js:14.2.26
-
cpe:2.3:a:vercel:next.js:14.2.27
-
cpe:2.3:a:vercel:next.js:14.2.28
-
cpe:2.3:a:vercel:next.js:14.2.29
-
cpe:2.3:a:vercel:next.js:14.2.3
-
cpe:2.3:a:vercel:next.js:14.2.30
-
cpe:2.3:a:vercel:next.js:14.2.31
-
cpe:2.3:a:vercel:next.js:14.2.32
-
cpe:2.3:a:vercel:next.js:14.2.33
-
cpe:2.3:a:vercel:next.js:14.2.34
-
cpe:2.3:a:vercel:next.js:14.2.35
-
cpe:2.3:a:vercel:next.js:14.2.4
-
cpe:2.3:a:vercel:next.js:14.2.5
-
cpe:2.3:a:vercel:next.js:14.2.6
-
cpe:2.3:a:vercel:next.js:14.2.7
-
cpe:2.3:a:vercel:next.js:14.2.8
-
cpe:2.3:a:vercel:next.js:14.2.9
-
cpe:2.3:a:vercel:next.js:14.3.0
-
cpe:2.3:a:vercel:next.js:15.0.0
-
cpe:2.3:a:vercel:next.js:15.0.1
-
cpe:2.3:a:vercel:next.js:15.0.2
-
cpe:2.3:a:vercel:next.js:15.0.3
-
cpe:2.3:a:vercel:next.js:15.0.4
-
cpe:2.3:a:vercel:next.js:15.0.5
-
cpe:2.3:a:vercel:next.js:15.0.6
-
cpe:2.3:a:vercel:next.js:15.0.7
-
cpe:2.3:a:vercel:next.js:15.1.0
-
cpe:2.3:a:vercel:next.js:15.1.1
-
cpe:2.3:a:vercel:next.js:15.1.10
-
cpe:2.3:a:vercel:next.js:15.1.11
-
cpe:2.3:a:vercel:next.js:15.1.2
-
cpe:2.3:a:vercel:next.js:15.1.3
-
cpe:2.3:a:vercel:next.js:15.1.4
-
cpe:2.3:a:vercel:next.js:15.1.5
-
cpe:2.3:a:vercel:next.js:15.1.6
-
cpe:2.3:a:vercel:next.js:15.1.7
-
cpe:2.3:a:vercel:next.js:15.1.8
-
cpe:2.3:a:vercel:next.js:15.1.9
-
cpe:2.3:a:vercel:next.js:15.2.0
-
cpe:2.3:a:vercel:next.js:15.2.1
-
cpe:2.3:a:vercel:next.js:15.2.2
-
cpe:2.3:a:vercel:next.js:15.2.3
-
cpe:2.3:a:vercel:next.js:15.2.4
-
cpe:2.3:a:vercel:next.js:15.2.5
-
cpe:2.3:a:vercel:next.js:15.2.6
-
cpe:2.3:a:vercel:next.js:15.2.7
-
cpe:2.3:a:vercel:next.js:15.2.8
-
cpe:2.3:a:vercel:next.js:15.3.0
-
cpe:2.3:a:vercel:next.js:15.3.1
-
cpe:2.3:a:vercel:next.js:15.3.2
-
cpe:2.3:a:vercel:next.js:15.3.3
-
cpe:2.3:a:vercel:next.js:15.3.4
-
cpe:2.3:a:vercel:next.js:15.3.5
-
cpe:2.3:a:vercel:next.js:15.3.6
-
cpe:2.3:a:vercel:next.js:15.3.7
-
cpe:2.3:a:vercel:next.js:15.3.8
-
cpe:2.3:a:vercel:next.js:15.4.0
-
cpe:2.3:a:vercel:next.js:15.4.1
-
cpe:2.3:a:vercel:next.js:15.4.10
-
cpe:2.3:a:vercel:next.js:15.4.2
-
cpe:2.3:a:vercel:next.js:15.4.3
-
cpe:2.3:a:vercel:next.js:15.4.4
-
cpe:2.3:a:vercel:next.js:15.4.5
-
cpe:2.3:a:vercel:next.js:15.4.6
-
cpe:2.3:a:vercel:next.js:15.4.7
-
cpe:2.3:a:vercel:next.js:15.4.8
-
cpe:2.3:a:vercel:next.js:15.4.9
-
cpe:2.3:a:vercel:next.js:15.5.0
-
cpe:2.3:a:vercel:next.js:15.5.1
-
cpe:2.3:a:vercel:next.js:15.5.10
-
cpe:2.3:a:vercel:next.js:15.5.11
-
cpe:2.3:a:vercel:next.js:15.5.12
-
cpe:2.3:a:vercel:next.js:15.5.13
-
cpe:2.3:a:vercel:next.js:15.5.14
-
cpe:2.3:a:vercel:next.js:15.5.15
-
cpe:2.3:a:vercel:next.js:15.5.2
-
cpe:2.3:a:vercel:next.js:15.5.3
-
cpe:2.3:a:vercel:next.js:15.5.4
-
cpe:2.3:a:vercel:next.js:15.5.5
-
cpe:2.3:a:vercel:next.js:15.5.6
-
cpe:2.3:a:vercel:next.js:15.5.7
-
cpe:2.3:a:vercel:next.js:15.5.8
-
cpe:2.3:a:vercel:next.js:15.5.9
-
cpe:2.3:a:vercel:next.js:16.0.0
-
cpe:2.3:a:vercel:next.js:16.0.1
-
cpe:2.3:a:vercel:next.js:16.0.10
-
cpe:2.3:a:vercel:next.js:16.0.2
-
cpe:2.3:a:vercel:next.js:16.0.3
-
cpe:2.3:a:vercel:next.js:16.0.4
-
cpe:2.3:a:vercel:next.js:16.0.5
-
cpe:2.3:a:vercel:next.js:16.0.6
-
cpe:2.3:a:vercel:next.js:16.0.7
-
cpe:2.3:a:vercel:next.js:16.0.8
-
cpe:2.3:a:vercel:next.js:16.0.9
-
cpe:2.3:a:vercel:next.js:16.1.0
-
cpe:2.3:a:vercel:next.js:16.1.1
-
cpe:2.3:a:vercel:next.js:16.1.2
-
cpe:2.3:a:vercel:next.js:16.1.3
-
cpe:2.3:a:vercel:next.js:16.1.4
-
cpe:2.3:a:vercel:next.js:16.1.5
-
cpe:2.3:a:vercel:next.js:16.1.6
-
cpe:2.3:a:vercel:next.js:16.1.7
-
cpe:2.3:a:vercel:next.js:16.2.0
-
cpe:2.3:a:vercel:next.js:16.2.2
-
cpe:2.3:a:vercel:next.js:16.2.3
-
cpe:2.3:a:vercel:next.js:16.2.4