Svelte has earned a remarkable reputation in 2026: 91% developer retention — the highest among all JavaScript frameworks — and 4.4 million weekly npm downloads for @sveltejs/kit. Yet this growing adoption comes with a security price. Between January and April 2026, the Svelte team disclosed six CVEs affecting SvelteKit and its ecosystem packages, ranging from denial-of-service to server-side request forgery and cache deception. Unlike most security advisories that require complex prerequisites, several of these vulnerabilities can be exploited by an unauthenticated attacker with a single crafted HTTP request.

Svelte s’est bâti une remarquable réputation en 2026 : 91 % de rétention développeur — la plus haute parmi tous les frameworks JavaScript — et 4,4 millions de téléchargements npm hebdomadaires pour @sveltejs/kit. Cette adoption croissante a cependant un coût en matière de sécurité. Entre janvier et avril 2026, l’équipe Svelte a divulgué six CVE affectant SvelteKit et ses packages d’écosystème, allant du déni de service à la falsification de requêtes côté serveur et à la déception de cache. Contrairement à la plupart des avis de sécurité qui nécessitent des prérequis complexes, plusieurs de ces vulnérabilités peuvent être exploitées par un attaquant non authentifié avec une seule requête HTTP craftée.

The Svelte Ecosystem in 2026: Growing Fast, Patching Frequently

L’Écosystème Svelte en 2026 : Croissance Rapide, Corrections Fréquentes

Svelte 5, released in late 2024, introduced Runes — a signal-based reactivity model that fundamentally changed how Svelte applications manage state. The migration to Svelte 5 drove a new wave of adoption, with the framework climbing from 6.5% usage in the 2024 Stack Overflow Developer Survey to becoming the framework with the highest developer experience scores in 2026 (Source: programming-helper.com, 2026). @sveltejs/kit alone sees 4.4 million npm downloads per week.

Svelte 5, sorti fin 2024, a introduit les Runes — un modèle de réactivité basé sur les signaux qui a fondamentalement transformé la gestion de l’état. La migration vers Svelte 5 a entraîné une nouvelle vague d’adoption, avec le framework atteignant 6,5 % d’utilisation dans l’enquête Stack Overflow Developer Survey 2024 et les meilleurs scores DX en 2026 (Source : programming-helper.com, 2026). @sveltejs/kit enregistre à lui seul 4,4 millions de téléchargements npm par semaine.

But popularity attracts scrutiny. The Svelte team published a single security advisory in January 2026 disclosing five CVEs simultaneously — a signal that security researchers and AI pentesting tools are now actively targeting SvelteKit. A sixth CVE (CVE-2026-40073) followed in April. This article dissects all six, ranks them by severity, and provides an actionable hardening guide.

Mais la popularité attire l’attention. L’équipe Svelte a publié un avis de sécurité unique en janvier 2026 divulguant cinq CVE simultanément — un signal que les chercheurs en sécurité et les outils de pentest IA ciblent désormais activement SvelteKit. Une sixième CVE (CVE-2026-40073) a suivi en avril. Cet article analyse les six, les classe par sévérité et fournit un guide de durcissement actionnable.

6
CVEs disclosed in 2026
CVE divulguées en 2026
Source: svelte.dev/blog, Tenable, NVD
8.2
Highest CVSS 4.0 score (CVE-2026-40073)
Score CVSS 4.0 le plus élevé (CVE-2026-40073)
Source: NVD, Tenable
4.4M
Weekly @sveltejs/kit npm downloads
Téléchargements npm hebdomadaires @sveltejs/kit
Source: Snyk, npmjs.com
91%
Developer retention rate — #1 among frameworks
Taux de rétention — #1 parmi les frameworks
Source: programming-helper.com, 2026

CVE-2026-40073 (CVSS 8.2) — BODY_SIZE_LIMIT Bypass via Chunked Transfer Encoding

CVE-2026-40073 (CVSS 8.2) — Contournement BODY_SIZE_LIMIT via Chunked Transfer Encoding

Published on April 10, 2026 and fixed in @sveltejs/kit 2.57.1, CVE-2026-40073 is the most severe SvelteKit vulnerability of 2026 with a CVSS 4.0 score of 8.2 (High). It is classified under CWE-770 (Allocation of Resources Without Limits or Throttling). The GitHub Security Advisory is GHSA-2crg-3p73-43xp.

Publiée le 10 avril 2026 et corrigée dans @sveltejs/kit 2.57.1, CVE-2026-40073 est la vulnérabilité SvelteKit la plus sévère de 2026 avec un score CVSS 4.0 de 8.2 (High). Elle est classifiée sous CWE-770 (Allocation de ressources sans limites ni limitation). L’avis de sécurité GitHub est GHSA-2crg-3p73-43xp.

Root Cause

Cause Racine

SvelteKit’s adapter-node enforces a configurable BODY_SIZE_LIMIT to prevent memory exhaustion from oversized request bodies. The flaw: this limit was only enforced for Content-Length-based requests. When an attacker sends a request with Transfer-Encoding: chunked, SvelteKit’s adapter reads incoming chunks without checking the accumulated total size against the configured limit. An unauthenticated remote attacker can therefore stream an arbitrarily large body — gigabytes if desired — causing the Node.js process to exhaust available memory and crash.

Le adapter-node de SvelteKit applique un BODY_SIZE_LIMIT configurable pour prévenir l’épuisement mémoire dû à des corps de requêtes surdimensionnés. Le problème : cette limite n’était appliquée que pour les requêtes basées sur Content-Length. Lorsqu’un attaquant envoie une requête avec Transfer-Encoding: chunked, l’adapter SvelteKit lit les chunks entrants sans vérifier la taille totale accumulée par rapport à la limite configurée. Un attaquant distant non authentifié peut donc streamer un corps arbitrairement large — des gigaoctets si désiré — causant l’épuisement mémoire du processus Node.js et son crash.

Attack: bypass BODY_SIZE_LIMIT with chunked encoding (bash) Attaque : contournement BODY_SIZE_LIMIT avec l’encodage par chunks (bash)
# Sends an infinite chunked body to exhaust server memory
curl -X POST https://your-sveltekit-app.com/api/upload \
  -H "Transfer-Encoding: chunked" \
  -H "Content-Type: application/json" \
  --data-binary @/dev/urandom \
  --no-buffer

# CVE-2026-40073 — Fixed in @sveltejs/kit 2.57.1
# Protection: upgrade + enforce limit at gateway/WAF level too

Important: This bypass does not affect body size limits enforced at other layers. If your WAF, reverse proxy (Nginx, Caddy), or deployment platform (Vercel, Netlify) already enforces a body size limit upstream of SvelteKit, you are protected even on older versions. However, applications using adapter-node with direct exposure to the internet are fully vulnerable.

Important : Ce contournement n’affecte pas les limites de taille de corps appliquées à d’autres couches. Si votre WAF, reverse proxy (Nginx, Caddy) ou plateforme de déploiement (Vercel, Netlify) applique déjà une limite de taille de corps en amont de SvelteKit, vous êtes protégé même sur les versions plus anciennes. Cependant, les applications utilisant adapter-node avec une exposition directe à Internet sont entièrement vulnérables.

Fix: upgrade and add a reverse proxy body limit (nginx) Correctif : mise à jour et ajout d’une limite dans le reverse proxy (nginx)
# npm
npm update @sveltejs/kit   # ensure >= 2.57.1

# Nginx: enforce 10MB limit upstream of SvelteKit
server {
    client_max_body_size 10m;  # blocks oversized requests before SvelteKit

    location / {
        proxy_pass http://localhost:3000;
    }
}

CVE-2025-67647 — SSRF & One-Shot DoS via Prerendered Routes

CVE-2025-67647 — SSRF & DoS en Un Coup via les Routes Prérendues

CVE-2025-67647 affects SvelteKit versions 2.44.0 through 2.49.4 and was patched in 2.49.5. It was disclosed in the January 2026 batch advisory. The vulnerability has two distinct impacts depending on your configuration:

CVE-2025-67647 affecte les versions SvelteKit 2.44.0 à 2.49.4 et a été corrigée dans 2.49.5. Elle a été divulguée dans le batch advisory de janvier 2026. La vulnérabilité a deux impacts distincts selon votre configuration :

The root cause lies in SvelteKit’s Node adapter’s origin construction logic. The adapter failed to validate the origin from incoming Host headers before using it to construct internal fetch calls. Since SvelteKit’s prerendering triggers server-side fetches, an attacker can craft a Host header pointing to an internal service. The fetch API’s automatic redirect-following (302 responses) eliminates path restrictions entirely, allowing access to any internal endpoint. The one-shot DoS works because the malformed origin triggers an uncaught exception that brings down the entire server process.

La cause racine réside dans la logique de construction d’origine de l’adapter Node de SvelteKit. L’adapter ne validait pas l’origine des headers Host entrants avant de les utiliser pour construire des appels fetch internes. Puisque le pré-rendu de SvelteKit déclenche des fetches côté serveur, un attaquant peut crafter un header Host pointant vers un service interne. Le suivi automatique des redirections (réponses 302) de l’API fetch élimine entièrement les restrictions de chemin, permettant l’accès à n’importe quel endpoint interne. Le DoS en un coup fonctionne car l’origine mal formée déclenche une exception non capturée qui fait tomber l’ensemble du processus serveur.

Mitigation: set ORIGIN and upgrade (svelte.config.js + env) Atténuation : configurer ORIGIN et mettre à jour (svelte.config.js + env)
# .env (production)
ORIGIN=https://your-domain.com   # CRITICAL: prevents SSRF origin confusion

# svelte.config.js — upgrade to 2.49.5+
import adapter from '@sveltejs/adapter-node';

export default {
  kit: {
    adapter: adapter(),
    // Always run behind Nginx/Caddy with Host header validation
  }
};

SvelteSpill — CVE-2026-27118: Cache Deception via the __pathname Parameter

SvelteSpill — CVE-2026-27118 : Déception de Cache via le Paramètre __pathname

Discovered on January 20, 2026 by Aikido Security’s AI pentesting system and patched by Vercel on February 19, 2026, SvelteSpill is the most architecturally interesting vulnerability of the batch. It required no code vulnerability in the traditional sense — it exploited the interaction between SvelteKit’s internal routing parameter and Vercel’s aggressive CDN caching rules.

Découverte le 20 janvier 2026 par le système de pentest IA d’Aikido Security et corrigée par Vercel le 19 février 2026, SvelteSpill est la vulnérabilité architecturalement la plus intéressante du lot. Elle ne nécessitait aucune vulnérabilité de code au sens traditionnel — elle exploitait l’interaction entre le paramètre de routage interne de SvelteKit et les règles de mise en cache CDN agressives de Vercel.

How the Attack Works

Comment Fonctionne l’Attaque

SvelteKit’s Vercel adapter uses an internal __pathname query parameter to rewrite request paths for serverless function routing. In serverless.js, the adapter extracts __pathname from the URL and overwrites the request’s pathname — without any validation. An attacker crafts a URL like:

L’adapter Vercel de SvelteKit utilise un paramètre de requête interne __pathname pour réécrire les chemins de requêtes pour le routage des fonctions serverless. Dans serverless.js, l’adapter extrait __pathname de l’URL et écrase le pathname de la requête — sans aucune validation. Un attaquant craft une URL telle que :

SvelteSpill attack URL pattern Modèle d’URL d’attaque SvelteSpill
# Attacker sends victim this URL (e.g., in a phishing message)
https://victim-app.vercel.app/_app/immutable/x?__pathname=/api/session

# What happens:
# 1. /_app/immutable/ prefix → Vercel CDN applies: Cache-Control: public, immutable, max-age=31536000
# 2. __pathname=/api/session → SvelteKit rewrites path to /api/session
# 3. /api/session uses victim's session cookie → returns private user data
# 4. Vercel caches this PRIVATE response as PUBLIC (because of the /_app/immutable/ prefix)
# 5. Any subsequent user visiting the crafted URL gets the victim's cached session data

The exploit requires social engineering (tricking a logged-in user into clicking the crafted URL), but once triggered, the victim’s session token, profile data, or any authenticated API response is publicly accessible via Vercel’s CDN for up to one year — the CDN cache duration for /_app/immutable/ paths. Vercel’s fix was platform-wide: any request to /_app/immutable/ with a __pathname parameter now returns 404, and the parameter is stripped from all paths.

L’exploit nécessite de l’ingénierie sociale (amener un utilisateur connecté à cliquer sur l’URL craftée), mais une fois déclenché, le token de session de la victime, ses données de profil ou n’importe quelle réponse API authentifiée est publiquement accessible via le CDN de Vercel pendant jusqu’à un an — la durée de cache CDN pour les chemins /_app/immutable/. Le correctif de Vercel était à l’échelle de la plateforme : toute requête vers /_app/immutable/ avec un paramètre __pathname retourne désormais 404, et le paramètre est retiré de tous les chemins.

If you deploy SvelteKit on Vercel: you are automatically protected (no action required). If you use a custom CDN or self-host with aggressive caching rules, audit your cache configuration for paths that mix static and dynamic content.

Si vous déployez SvelteKit sur Vercel : vous êtes automatiquement protégé (aucune action requise). Si vous utilisez un CDN personnalisé ou un hébergement autonome avec des règles de mise en cache agressives, auditez votre configuration de cache pour les chemins qui mélangent contenu statique et dynamique.

devalue DoS: CVE-2026-22774 & CVE-2026-22775 — Memory Exhaustion from a Single Packet

DoS devalue : CVE-2026-22774 & CVE-2026-22775 — Épuisement Mémoire depuis un Seul Paquet

devalue is the serialization library SvelteKit uses to pass server data to the client during SSR and hydration — and for Remote Functions (SvelteKit’s RPC mechanism). Two CVEs in January 2026 disclosed memory exhaustion vulnerabilities in devalue:

devalue est la bibliothèque de sérialisation que SvelteKit utilise pour transmettre les données serveur au client lors du SSR et de l’hydratation — et pour les Remote Functions (le mécanisme RPC de SvelteKit). Deux CVE en janvier 2026 ont divulgué des vulnérabilités d’épuisement mémoire dans devalue :

Who is at risk? Any SvelteKit application that uses Remote Functions (formerly known as server actions with client-side calls) and passes user-controlled data through devalue.parse() is vulnerable. The attack does not require authentication — any user who can call a Remote Function can crash the server.

Qui est à risque ? Toute application SvelteKit qui utilise les Remote Functions (anciennement connues sous le nom d’actions serveur avec appels côté client) et qui passe des données contrôlées par l’utilisateur via devalue.parse() est vulnérable. L’attaque ne nécessite pas d’authentification — tout utilisateur capable d’appeler une Remote Function peut faire crasher le serveur.

Fix: upgrade devalue (npm / pnpm / yarn) Correctif : mettre à jour devalue (npm / pnpm / yarn)
# Check current devalue version
npm ls devalue

# Upgrade to 5.6.2+ (patches CVE-2026-22774 and CVE-2026-22775)
npm update devalue

# Or pin explicitly in package.json
{
  "overrides": {
    "devalue": ">=5.6.2"
  }
}

CVE-2026-22803 — Server Crash in @sveltejs/kit 2.49.0–2.49.4

CVE-2026-22803 — Crash Serveur dans @sveltejs/kit 2.49.0–2.49.4

The sixth CVE disclosed in January 2026, CVE-2026-22803, is a server crash vulnerability specifically affecting the narrow version range 2.49.0–2.49.4. It is separate from CVE-2025-67647: it does not require prerendered routes and affects the core kit package rather than adapter-node. Affected versions should be upgraded to 2.49.5 immediately. Because this version range was released and patched within weeks, the practical blast radius is limited — but any application that pinned a specific version in this range remains exposed.

La sixième CVE divulguée en janvier 2026, CVE-2026-22803, est une vulnérabilité de crash serveur affectant spécifiquement la plage de versions étroite 2.49.0–2.49.4. Elle est distincte de CVE-2025-67647 : elle ne nécessite pas de routes pré-rendues et affecte le package core kit plutôt qu’adapter-node. Les versions affectées doivent être mises à jour vers 2.49.5 immédiatement. Comme cette plage de versions a été publiée et corrigée en quelques semaines, le rayon d’explosion pratique est limité — mais toute application qui a épinglé une version spécifique dans cette plage reste exposée.

Complete SvelteKit Security Hardening Checklist for 2026

Check-list Complète de Durcissement Sécurité SvelteKit pour 2026

Applying these measures puts you ahead of the majority of SvelteKit deployments in production today.

Appliquer ces mesures vous place en avance sur la majorité des déploiements SvelteKit en production aujourd’hui.

1. Version Pinning (Critical)

1. Épinglage des Versions (Critique)

Minimum safe versions for 2026 (package.json) Versions minimales sûres pour 2026 (package.json)
{
  "dependencies": {
    "@sveltejs/kit": ">=2.57.1",      // patches CVE-2026-40073
    "@sveltejs/adapter-node": ">=5.2.0",
    "devalue": ">=5.6.2"             // patches CVE-2026-22774 + CVE-2026-22775
  }
}

# Audit your current installation
npm audit
npx better-npm-audit audit  # more detailed output

2. Set the ORIGIN Environment Variable

2. Configurer la Variable d’Environnement ORIGIN

Production environment (.env.production) Environnement de production (.env.production)
# MANDATORY for adapter-node deployments
# Prevents CVE-2025-67647 SSRF origin confusion
ORIGIN=https://your-production-domain.com

# Never leave this empty in production
# SvelteKit falls back to the Host header if ORIGIN is unset — attacker-controllable

3. Enforce Body Size Limits at Every Layer

3. Appliquer les Limites de Taille de Corps à Chaque Couche

Defense-in-depth: Nginx + SvelteKit (nginx.conf + svelte.config.js) Défense en profondeur : Nginx + SvelteKit (nginx.conf + svelte.config.js)
# nginx.conf — blocks oversized chunked requests before SvelteKit
server {
    client_max_body_size 10m;
    client_body_timeout 10s;      # abort slow-loris style chunked attacks

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# svelte.config.js — also set adapter-level limit (defense in depth)
import adapter from '@sveltejs/adapter-node';

export default {
  kit: {
    adapter: adapter({
      // BODY_SIZE_LIMIT enforced correctly in 2.57.1+
    })
  }
};

4. Content Security Policy and CSRF Protection

4. Content Security Policy et Protection CSRF

SvelteKit CSP configuration (svelte.config.js) Configuration CSP SvelteKit (svelte.config.js)
// svelte.config.js
export default {
  kit: {
    csrf: {
      checkOrigin: true  // ENABLED by default — never disable this
    },
    csp: {
      mode: 'auto',      // nonce-based CSP
      directives: {
        'script-src': ['self'],
        'style-src': ['self'],
        'img-src': ['self', 'data:', 'https:'],
        'connect-src': ['self'],
        'frame-ancestors': ['none'],
        'object-src': ['none'],
        'base-uri': ['self']
      }
    }
  }
};

5. Secrets Management and Environment Isolation

5. Gestion des Secrets et Isolation des Environnements

SvelteKit’s module system distinguishes server-only from client-shared code via $lib/server/ and +page.server.ts files. Never import server secrets from files that could be bundled into the client — SvelteKit will warn at build time, but runtime leaks remain possible through misconfigured hooks. Use $env/static/private for build-time secrets and $env/dynamic/private for runtime secrets. Never access $env/static/private from a file without the .server suffix or the $lib/server/ prefix.

Le système de modules de SvelteKit distingue le code serveur-uniquement du code partagé client via les fichiers $lib/server/ et +page.server.ts. N’importez jamais les secrets serveur depuis des fichiers pouvant être inclus dans le bundle client — SvelteKit avertit au moment de la compilation, mais des fuites d’exécution restent possibles via des hooks mal configurés. Utilisez $env/static/private pour les secrets au moment de la compilation et $env/dynamic/private pour les secrets d’exécution.

6. Automated Dependency Monitoring

6. Surveillance Automatique des Dépendances

All six 2026 SvelteKit CVEs affected npm packages that would appear in your package-lock.json. Automated lockfile scanning catches these vulnerabilities the day they are published — before manual review, before a CVE appears in npm audit, and before attackers exploit the gap. Tools like CVE OptiBot scan your lockfile daily against OSV.dev and NVD, alerting you with the exact vulnerable package version and the fix.

Les six CVE SvelteKit de 2026 affectaient des packages npm apparaissant dans votre package-lock.json. Le scan automatique du lockfile détecte ces vulnérabilités le jour de leur publication — avant la revue manuelle, avant qu’une CVE n’apparaisse dans npm audit, et avant que les attaquants n’exploitent le délai. Des outils comme CVE OptiBot scannent votre lockfile quotidiennement contre OSV.dev et NVD, vous alertant avec la version exacte du package vulnérable et le correctif.

All 2026 SvelteKit CVEs at a Glance

Toutes les CVE SvelteKit 2026 en un Coup d’Œil

CVE CVSS Impact Affected Fixed in CVE CVSS Impact Affecte Corrigé dans
CVE-2026-40073 8.2 High DoS — unlimited memory via chunked body < 2.57.1 (adapter-node) 2.57.1 CVE-2026-40073 8.2 High DoS — mémoire illimitée via corps chunké < 2.57.1 (adapter-node) 2.57.1
CVE-2025-67647 High SSRF + one-shot DoS via prerendering 2.44.0–2.49.4 2.49.5 CVE-2025-67647 High SSRF + DoS en un coup via pré-rendu 2.44.0–2.49.4 2.49.5
CVE-2026-27118 High Cache deception — leaks auth data via Vercel CDN adapter-vercel Vercel (auto) CVE-2026-27118 High Cache deception — fuite données auth via CDN Vercel adapter-vercel Vercel (auto)
CVE-2026-22775 High DoS — devalue memory/CPU exhaustion devalue 5.1.0–5.6.1 devalue 5.6.2 CVE-2026-22775 High DoS — épuisement mémoire/CPU devalue devalue 5.1.0–5.6.1 devalue 5.6.2
CVE-2026-22774 High DoS — devalue memory exhaustion devalue 5.3.0–5.6.1 devalue 5.6.2 CVE-2026-22774 High DoS — épuisement mémoire devalue devalue 5.3.0–5.6.1 devalue 5.6.2
CVE-2026-22803 Medium DoS — server crash in core kit kit 2.49.0–2.49.4 2.49.5 CVE-2026-22803 Medium DoS — crash serveur dans kit core kit 2.49.0–2.49.4 2.49.5

Frequently Asked Questions

Questions Fréquentes

What is CVE-2026-40073 in SvelteKit?

Qu’est-ce que CVE-2026-40073 dans SvelteKit ?

CVE-2026-40073 (CVSS 8.2) is a flaw in adapter-node where the configured BODY_SIZE_LIMIT is not enforced for chunked transfer encoding requests. An unauthenticated attacker can send an arbitrarily large request body, exhausting server memory and triggering a denial of service. It is fixed in @sveltejs/kit 2.57.1, published April 10, 2026.

CVE-2026-40073 (CVSS 8.2) est une faille dans adapter-node où le BODY_SIZE_LIMIT configuré n’est pas appliqué pour les requêtes avec encodage par chunks. Un attaquant non authentifié peut envoyer un corps de requête arbitrairement grand, épuisant la mémoire du serveur et déclenchant un déni de service. Elle est corrigée dans @sveltejs/kit 2.57.1, publié le 10 avril 2026.

What is SvelteSpill and who is affected?

Qu’est-ce que SvelteSpill et qui est affecté ?

SvelteSpill (CVE-2026-27118) is a cache deception vulnerability affecting SvelteKit applications deployed on Vercel. By abusing SvelteKit’s internal __pathname query parameter combined with Vercel’s aggressive CDN caching of /_app/immutable/ paths, attackers can cause private authenticated API responses to be cached publicly. Vercel fixed it automatically for all users on February 19, 2026 — no manual action required.

SvelteSpill (CVE-2026-27118) est une vulnérabilité de déception de cache affectant les applications SvelteKit déployées sur Vercel. En abusant du paramètre de requête interne __pathname de SvelteKit combiné à la mise en cache CDN agressive de Vercel des chemins /_app/immutable/, les attaquants peuvent provoquer la mise en cache publique de réponses API privées authentifiées. Vercel l’a corrigé automatiquement pour tous les utilisateurs le 19 février 2026 — aucune action manuelle requise.

Does npm audit detect these SvelteKit vulnerabilities?

npm audit détecte-t-il ces vulnérabilités SvelteKit ?

npm audit detects CVEs once they are registered in the npm advisory database, which typically lags NVD publication by days to weeks. It also only scans direct dependencies by default and can miss transitive packages like devalue in complex dependency trees. Dedicated lockfile scanners using OSV.dev (which aggregates GitHub Security Advisories, the source of SvelteKit advisories) typically catch these vulnerabilities faster and with more context.

npm audit détecte les CVE une fois qu’elles sont enregistrées dans la base de données des advisories npm, ce qui est typiquement en retard de plusieurs jours à semaines par rapport à la publication NVD. Il ne scanne également que les dépendances directes par défaut et peut manquer les packages transitifs comme devalue dans des arbres de dépendances complexes. Les scanners de lockfiles dédiés utilisant OSV.dev (qui agrège les GitHub Security Advisories, la source des advisories SvelteKit) détectent typiquement ces vulnérabilités plus rapidement et avec plus de contexte.

Should I migrate from SvelteKit to another framework for security reasons?

Dois-je migrer de SvelteKit vers un autre framework pour des raisons de sécurité ?

No. All six 2026 CVEs have patches available, and most require specific conditions (prerendered routes, Vercel deployment, adapter-node without ORIGIN). The Svelte team’s response time was excellent — all five January CVEs were patched and disclosed on the same day. Six CVEs in a year is comparable to other actively developed frameworks. The right response is to stay updated and apply the hardening measures described in this guide, not to migrate.

Non. Les six CVE de 2026 ont des correctifs disponibles, et la plupart nécessitent des conditions spécifiques (routes pré-rendues, déploiement Vercel, adapter-node sans ORIGIN). Le temps de réponse de l’équipe Svelte était excellent — les cinq CVE de janvier ont été corrigées et divulguées le même jour. Six CVE en un an est comparable à d’autres frameworks en développement actif. La bonne réponse est de rester à jour et d’appliquer les mesures de durcissement décrites dans ce guide, pas de migrer.

How do I monitor future SvelteKit CVEs automatically?

Comment surveiller automatiquement les futures CVE SvelteKit ?

Subscribe to the GitHub Security Advisories feed for @sveltejs/kit and devalue on GitHub. Alternatively, use a lockfile scanner like CVE OptiBot that monitors your package-lock.json or pnpm-lock.yaml daily against OSV.dev and sends you an alert the moment a new CVE affects one of your pinned versions — without requiring access to your source code.

Abonnez-vous au flux GitHub Security Advisories pour @sveltejs/kit et devalue sur GitHub. Alternativement, utilisez un scanner de lockfiles comme CVE OptiBot qui surveille votre package-lock.json ou pnpm-lock.yaml quotidiennement contre OSV.dev et vous envoie une alerte dès qu’une nouvelle CVE affecte l’une de vos versions épinglées — sans nécessiter d’accès à votre code source.

Monitor Your SvelteKit Dependencies Automatically

Surveillez Vos Dépendances SvelteKit Automatiquement

CVE OptiBot scans your package-lock.json or pnpm-lock.yaml daily against OSV.dev — covering @sveltejs/kit, devalue, and all other npm packages in your project. Get notified the moment a new CVE affects your pinned versions, with the exact fix version and migration steps.

CVE OptiBot scanne votre package-lock.json ou pnpm-lock.yaml quotidiennement contre OSV.dev — couvrant @sveltejs/kit, devalue, et tous les autres packages npm de votre projet. Soyez notifié dès qu’une nouvelle CVE affecte vos versions épinglées, avec la version corrigée exacte et les étapes de migration.

Start free monitoring Démarrer le monitoring gratuit