Skip to content zachleat

Prototype Pollution Report

Every non-deprecated package published by each framework’s npm organization, installed as of the first of each month and checked with npm audit. Last updated .

Forecasts weight each vulnerability by severity (critical 10, high 6, moderate 3, low 1) and rank the total from clear to storms.

Framework Forecast Shows npm audit Rendering Navigation
Ecosystem Core Build-time (static) Request-time MPA SPA
Build Awesome (11ty) 1 0 ShownManual install Default No Default No
Solid 2 0 Showncreate-solid@0.12.0 Optional DefaultCode runs on request (by default) No Default
Angular 2 0 Hidden@angular/cli@22.2.5 Default Optional No Default
Astro 3 0 Hiddencreate-astro@5.3.1Manual install Default Optional Default Optional
TanStack Start 4 0 Hidden@tanstack/cli@0.72.15Manual install Optional DefaultCode runs on request (by default) No Default
Svelte 4 1 Hiddensv@1.2.0 Optional DefaultCode runs on request (by default) Optional Default
Remix 4 1 Shownremix@3.2.0 No DefaultCode runs on request (by default) Optional Default
Next.js 4 3 Hiddencreate-next-app@16.4.5Manual install Optional DefaultCode runs on request (by default) No Default
Nuxt 5 2 Hiddencreate-nuxt@4.0.3 Optional DefaultCode runs on request (by default) Optional Default
Gatsby 5 3 Hiddencreate-gatsby@3.16.0 Default Optional No Default
WordPress — No DefaultCode runs on request (by default) Default No

In a static build, server dependencies are limited to the build machine. A ReDoS in a Markdown parser might slow down a build, but visitors can’t trigger it. Code runs on request (by default)Request-time code runs on a live server, where anyone loading a page can reach it. Note that client dependencies ship to the browser either way, so their vulnerabilities can affect both Build-time and Request-time projects.

Shows npm audit is whether the framework’s official create tool shows npm audit results, including high severity vulnerabilities, after it installs dependencies. Hover a cell to see how it’s hidden.

Ecosystem Scoreboard

As of Nov 7, 2026, sorted by fewest vulnerabilities.

Forecast Framework Vulnerabilities
(Raw npm audit)
Over Time GitHub
Advisories
Packages
(Affected)
Dependencies
(Third-party)
Severity
critical high moderate low
1 Build Awesome (11ty) 3 4 44
(2)
613
(557)
high3
2 Solid Code runs on request (by default)115 9 26
(2)
545
(514)
critical2 7 2
2 Angular 156
(11)
5 49
(3)
516
(461)
high9 6
4 Svelte Code runs on request (by default)454
(43)
36 45
(15)
754
(703)
critical10 24 7 4
3 Astro 476
(33)
86 54
(7)
1,560
(1,504)
critical3 28 14 2
4 Remix Code runs on request (by default)47
(37)
62 95
(19)
1,115
(1,011)
critical17 21 7 2
4 Next.js Code runs on request (by default)509
(16)
64 27
(9)
972
(942)
critical9 27 3 11
4 TanStack Start Code runs on request (by default)738
(61)
108 81
(24)
1,081
(985)
critical25 41 4 3
5 Nuxt Code runs on request (by default)12012
(116)
105 57
(25)
2,413
(2,339)
critical12 87 11 10
5 Gatsby 3422 176 133
(116)
3,361
(3,202)
critical50 248 29 15
  • Across these 10 frameworks, dependencies and vulnerabilities correlate at r = 0.93.
  • Vulnerabilities are affected packages in the install tree, as reported by npm audit. Next.js and Vite bundle many dependencies into their published code, and those are checked too wherever they appear in the install tree. Raw npm audit leaves them out.
  • Note that Vite’s bundled dependencies run in its dev server and at build time, not when serving production requests.
  • Advisories are distinct GitHub security advisories matched anywhere in the install tree. One advisory can flag every package that depends on the affected one, and one package can have several advisories, so this can be higher or lower than Vulnerabilities.
  • Dependencies are unique name@version pairs across the whole ecosystem, installed together in one tree. Shared dependencies count once per version. Platform-specific builds of a native package (one per OS and CPU) count once. Third-party means not published by the framework’s npm organization.
  • Past dates only count advisories published by that date.
  • Snapshots are fresh installs, which pick up the newest patch releases each package allows.
  • Each ecosystem also installs its core package’s required peer dependencies, like Vite for SvelteKit or React for Next.js, and its core package’s version of Vite (or the latest Vite, if the core doesn’t use it), so older versions from stale packages don’t displace it. Peer dependencies of other official packages aren’t installed.
  • Forecasts count every package equally and are not currently weighted by download count.

Vulnerabilities over time (all official packages)

  • Dependencies (left axis)
  • Vulnerabilities (right axis)
  • Raw npm audit (bundled dependencies not counted) (right axis)

Build Awesome (11ty)

0200400 02k4k Nov 25 Nov 26

SolidCode runs on request (by default)

0200400 02k4k Nov 25 Nov 26

Angular

0200400 02k4k Nov 25 Nov 26

SvelteCode runs on request (by default)

0200400 02k4k Nov 25 Nov 26

Astro

0200400 02k4k Nov 25 Nov 26

RemixCode runs on request (by default)

0200400 02k4k Nov 25 Nov 26

Next.jsCode runs on request (by default)

0200400 02k4k Nov 25 Nov 26

TanStack StartCode runs on request (by default)

0200400 02k4k Nov 25 Nov 26

NuxtCode runs on request (by default)

0200400 02k4k Nov 25 Nov 26

Gatsby

0200400 02k4k Nov 25 Nov 26

Build Awesome (11ty)

050100150 01k2k3k Nov 25 Nov 26

SolidCode runs on request (by default)

050100150 01k2k3k Nov 25 Nov 26

Angular

050100150 01k2k3k Nov 25 Nov 26

SvelteCode runs on request (by default)

050100150 01k2k3k Nov 25 Nov 26

Astro

050100150 01k2k3k Nov 25 Nov 26

RemixCode runs on request (by default)

050100150 01k2k3k Nov 25 Nov 26

Next.jsCode runs on request (by default)

050100150 01k2k3k Nov 25 Nov 26

TanStack StartCode runs on request (by default)

050100150 01k2k3k Nov 25 Nov 26

NuxtCode runs on request (by default)

050100150 01k2k3k Nov 25 Nov 26

Gatsby

050100150 01k2k3k Nov 25 Nov 26
Vulnerabilities data table

Raw npm audit (bundled dependencies not counted) counts in parentheses where they differ.

DateBuild Awesome (11ty)SvelteNuxtNext.jsAstroGatsbyAngularTanStack StartSolidRemix
Nov 1, 202524
(23)
13
(12)
—19
(4)
30
(18)
267031
(23)
——
Dec 1, 202524
(23)
13
(12)
58
(56)
19
(4)
31
(18)
266039
(31)
031
(24)
Jan 1, 202624
(23)
13
(12)
59
(57)
20
(4)
31
(18)
269040
(32)
030
(24)
Feb 1, 202624
(23)
16
(15)
59
(57)
24
(4)
36
(26)
285056
(48)
537
(32)
Mar 1, 202626
(25)
23
(19)
73
(71)
29
(4)
45
(35)
2931459
(50)
840
(32)
Apr 1, 202625
(24)
20
(19)
71
(70)
29
(4)
46
(34)
301459
(49)
542
(32)
May 1, 202626
(24)
21
(19)
78
(77)
30
(6)
46
(34)
3037
(4)
61
(51)
7
(5)
43
(32)
Jun 1, 202627
(25)
24
(22)
83
(80)
30
(6)
47
(35)
30412
(7)
62
(51)
9
(5)
45
(33)
Jul 1, 202630
(28)
23
(21)
85
(79)
33
(8)
47
(33)
30911
(7)
64
(51)
9
(5)
44
(29)
Aug 1, 202632
(29)
38
(35)
86
(80)
35
(10)
43
(28)
3109
(5)
65
(52)
11
(6)
47
(32)
Sep 1, 202628
(25)
37
(34)
87
(81)
35
(8)
42
(27)
3148
(4)
64
(51)
3
(0)
46
(31)
Oct 1, 202624
(21)
42
(39)
104
(98)
36
(8)
43
(29)
32713
(9)
60
(47)
8
(5)
49
(34)
Oct 30, 2026341
(39)
108
(104)
41
(8)
41
(26)
340965
(52)
647
(32)
Oct 31, 202616
(13)
59
(56)
128
(124)
58
(25)
55
(40)
38415
(11)
80
(68)
17
(12)
47
(37)
Nov 1, 202616
(13)
59
(56)
128
(124)
58
(25)
55
(40)
38415
(11)
80
(68)
17
(12)
47
(37)
Nov 2, 202616
(13)
59
(56)
128
(124)
58
(25)
55
(40)
38415
(11)
80
(68)
17
(12)
47
(37)
Nov 3, 202614
(11)
59
(56)
126
(122)
58
(25)
51
(36)
38415
(11)
80
(68)
16
(11)
47
(37)
Nov 4, 202614
(11)
59
(56)
126
(122)
58
(25)
51
(36)
38415
(11)
80
(68)
16
(11)
47
(37)
Nov 5, 2026345
(43)
120
(116)
50
(16)
47
(33)
34315
(11)
73
(61)
1147
(37)
Nov 6, 2026345
(43)
120
(116)
50
(16)
47
(33)
34215
(11)
73
(61)
1147
(37)
Nov 7, 2026345
(43)
120
(116)
50
(16)
47
(33)
34215
(11)
73
(61)
1147
(37)
Dependencies data table
DateBuild Awesome (11ty)SvelteNuxtNext.jsAstroGatsbyAngularTanStack StartSolidRemix
Nov 1, 2025678672—9651,4803,3326801,232——
Dec 1, 20256816602,1829641,4683,3336811,252610990
Jan 1, 20266866622,2719701,4693,3236811,266603991
Feb 1, 20267026662,3049701,4653,3346721,277608987
Mar 1, 20267046682,3129731,5773,3386731,1826171,002
Apr 1, 20267216692,3349781,5493,3406821,2006261,030
May 1, 20267316742,3049721,5503,3416911,2116321,067
Jun 1, 20267056842,3649731,5603,3436961,2136341,071
Jul 1, 20267096862,3719691,5743,3486911,1976321,099
Aug 1, 20267197632,3719691,5903,3525801,2066571,104
Sep 1, 20267077582,3889701,5883,3545851,2065731,111
Oct 1, 20267007612,4049701,5893,3535161,2095771,114
Oct 30, 20266137482,4219671,5593,3575071,0935771,119
Oct 31, 20266147482,4259701,5593,3615091,0945761,118
Nov 1, 20266147482,4229701,5593,3615091,0945761,115
Nov 2, 20266147482,4279721,5593,3615111,0945771,115
Nov 3, 20266167492,4129721,5583,3615111,0855441,115
Nov 4, 20266167492,4139721,5593,3615111,0865441,115
Nov 5, 20266137542,4149721,5613,3615141,0815461,115
Nov 6, 20266137542,4129721,5633,3615141,0815461,115
Nov 7, 20266137542,4139721,5603,3615161,0815451,115

Missing data, where the install failed: Nuxt on Nov 1, 2025.

Package Lists

Build Awesome (11ty): 2 of 44 official packages (5%) affected
Solid: 2 of 26 official packages (8%) affected
Angular: 3 of 49 official (6%) and 1 of 105 bundled (1%) packages affected
Svelte: 15 of 45 official packages (33%) affected
Astro: 7 of 54 official (13%) and 17 of 207 bundled (8%) packages affected
Remix: 19 of 95 official (20%) and 15 of 223 bundled (7%) packages affected
Next.js: 9 of 27 official (33%) and 24 of 139 bundled (17%) packages affected
TanStack Start: 24 of 81 official (30%) and 21 of 258 bundled (8%) packages affected
Nuxt: 25 of 57 official (44%) and 5 of 154 bundled (3%) packages affected
Gatsby: 116 of 133 official packages (87%) affected

Core Scoreboard

Each framework’s main package installed on its own. As of Nov 7, 2026, sorted by fewest vulnerabilities.

Forecast Package Vulnerabilities
(Raw npm audit)
Over Time GitHub
Advisories
Dependencies
(Third-party)
Severity
critical high moderate low
0 @11ty/eleventy 3.1.8 4d 0 0 127
(116)
—
0 @solidjs/start 2.2.2 0d 0 0 271
(264)
—
0 @angular/core 22.2.5 1d 0 0 3
(2)
—
0 astro 7.4.7 2d 0 0 322
(314)
—
0 @tanstack/react-start 1.169.4 16d 0 0 97
(81)
—
1 remix 3.2.0 3d Code runs on request (by default)1 1 100
(50)
low1
1 @sveltejs/kit 3.1.1 9d Code runs on request (by default)3 1 154
(150)
low3
2 nuxt 4.6.4 5d Code runs on request (by default)125 3 551
(539)
moderate10 2
3 next 16.4.5 4d Code runs on request (by default)342
(0)
60 667
(663)
critical3 19 2 10
3 gatsby 5.16.1 9mo 49 25 1,253
(1,232)
high35 9 5
  • Across these 10 frameworks, dependencies and vulnerabilities correlate at r = 0.94.
  • Includes required peer dependencies, like Vite and Svelte for SvelteKit.
  • Note that Vite’s bundled dependencies run in its dev server and at build time, not when serving production requests.
  • Forecasts count every package equally and are not currently weighted by download count.

Vulnerabilities over time (core package only)

  • Dependencies (left axis)
  • Vulnerabilities (right axis)
  • Raw npm audit (bundled dependencies not counted) (right axis)

Build Awesome (11ty)

050100 05001k1.5k Nov 25 Nov 26 v3

SolidStart

050100 05001k1.5k Nov 25 Nov 26 v1v2

Angular

050100 05001k1.5k Nov 25 Nov 26 v21v22

Astro

050100 05001k1.5k Nov 25 Nov 26 v5v6v7

TanStack Start

050100 05001k1.5k Nov 25 Nov 26 v1

RemixCode runs on request (by default)

050100 05001k1.5k Nov 25 Nov 26 v2v3

SvelteKitCode runs on request (by default)

050100 05001k1.5k Nov 25 Nov 26 v2v3

NuxtCode runs on request (by default)

050100 05001k1.5k Nov 25 Nov 26 v4

Next.jsCode runs on request (by default)

050100 05001k1.5k Nov 25 Nov 26 v16

Gatsby

050100 05001k1.5k Nov 25 Nov 26 v5

Build Awesome (11ty)

02040 05001k Nov 25 Nov 26 v3

SolidStart

02040 05001k Nov 25 Nov 26 v1v2

Angular

02040 05001k Nov 25 Nov 26 v21v22

Astro

02040 05001k Nov 25 Nov 26 v5v6v7

TanStack Start

02040 05001k Nov 25 Nov 26 v1

RemixCode runs on request (by default)

02040 05001k Nov 25 Nov 26 v2v3

SvelteKitCode runs on request (by default)

02040 05001k Nov 25 Nov 26 v2v3

NuxtCode runs on request (by default)

02040 05001k Nov 25 Nov 26 v4

Next.jsCode runs on request (by default)

02040 05001k Nov 25 Nov 26 v16

Gatsby

02040 05001k Nov 25 Nov 26 v5
Vulnerabilities data table

Raw npm audit (bundled dependencies not counted) counts in parentheses where they differ.

DateBuild Awesome (11ty)SvelteKitNuxtNext.jsAstroGatsbyAngularTanStack StartSolidStartRemix
Nov 1, 202502—16
(0)
0900——
Dec 1, 202502016
(0)
090000
Jan 1, 202602017
(0)
0120000
Feb 1, 202602021
(0)
0130050
Mar 1, 202602326
(0)
0170080
Apr 1, 202602026
(0)
0290550
May 1, 202604
(2)
2
(0)
27
(2)
2
(0)
35007
(5)
0
Jun 1, 202605
(2)
4
(1)
27
(2)
4
(0)
36009
(5)
0
Jul 1, 202604
(2)
4
(0)
29
(2)
2
(0)
35009
(5)
0
Aug 1, 202606
(3)
4
(1)
31
(4)
4
(1)
380011
(6)
0
Sep 1, 202605
(2)
3
(0)
29
(0)
3
(0)
39003
(0)
0
Oct 1, 202607
(4)
10
(7)
30
(0)
3
(0)
43003
(0)
0
Oct 30, 202603732
(0)
0490001
Oct 31, 202635
(3)
26
(14)
34
(0)
3
(0)
74004
(0)
1
Nov 1, 202635
(3)
26
(14)
34
(0)
3
(0)
74004
(0)
1
Nov 2, 202635
(3)
26
(14)
34
(0)
3
(0)
74004
(0)
1
Nov 3, 202605
(3)
24
(12)
34
(0)
3
(0)
74004
(0)
1
Nov 4, 202605
(3)
24
(12)
34
(0)
3
(0)
74004
(0)
1
Nov 5, 2026031234
(0)
0490001
Nov 6, 2026031234
(0)
0490001
Nov 7, 2026031234
(0)
0490001
Dependencies data table
DateBuild Awesome (11ty)SvelteKitNuxtNext.jsAstroGatsbyAngularTanStack StartSolidStartRemix
Nov 1, 2025134164—6674021,2603266——
Dec 1, 20251351656186674211,26032675901
Jan 1, 20261341666286754201,24232555851
Feb 1, 20261341686376754081,24732585901
Mar 1, 20261341646406764101,24832605991
Apr 1, 20261291676356793821,24832586111
May 1, 20261291696366743851,25031386141
Jun 1, 20261291716646753901,25231036161
Jul 1, 20261291716606773341,2543996131
Aug 1, 20261291736436763351,2543996221
Sep 1, 20261291676176713301,2553992791
Oct 1, 20261291696196713321,2523982821
Oct 30, 20261141575806653201,25639727399
Oct 31, 20261141575816653201,25639727399
Nov 1, 20261141575816653201,25639727399
Nov 2, 20261141575816673201,25639727399
Nov 3, 20261271575546673201,25639727399
Nov 4, 20261271575556673201,25639727399
Nov 5, 20261271545516673241,256397271100
Nov 6, 20261271545516673221,253397271100
Nov 7, 20261271545516673221,253397271100