Next.js missing cache-control header may lead to CDN caching empty reply
Affected releases · next
- 13.x13.0.0 – 13.4.19Fixed in 13.5.0
- 12.x and older0.9.9 – 12.3.7No fix, no longer updated
On 13.x, the newest line:
npm install next@13.5.0Not affected
16.0.0 – 16.4.2
45 releases, latest
Affected
13.0.0 – 13.4.19
44 releases
Fixed
13.5.0 – 13.5.11
12 releases
Affected
12.0.0 – 12.3.7
33 releases
Affected
11.0.0 – 11.1.4
7 releases
Affected
10.0.0 – 10.2.3
18 releases
Affected
9.0.0 – 9.5.5
38 releases
Affected
8.0.0 – 8.1.0
6 releases
Affected
7.0.0 – 7.0.3
4 releases
Affected
6.0.0 – 6.1.2
7 releases
Affected
5.0.0 – 5.1.0
2 releases
Affected
4.0.0 – 4.2.3
15 releases
Affected
3.0.1 – 3.2.3
11 releases
Affected
2.0.0 – 2.4.9
17 releases
Affected
1.0.0 – 1.2.3
10 releases
Not affected
0.1.0 – 0.4.1
23 releases
Affected
0.9.9 – 0.9.11
3 releases
Is your project affected?
Paste your package.json, or type the range you declare for next. It is read in your browser and sent nowhere.
What happens
Next.js before 13.4.20-canary.13 lacks a cache-control header and thus empty prefetch responses may sometimes be cached by a CDN, causing a denial of service to all users requesting the same URL via that CDN. Cloudflare considers these requests cacheable assets.