Node.js 20 reached end-of-life on April 30, 2026. Since that date, no security patches, no CVE fixes, no official releases. If you are still running Node 20 in production, you are accumulating security debt at an accelerating rate. The proof arrived on June 18, 2026: the Node.js project patched 12 CVEs across its three active release lines — including two HIGH-severity vulnerabilities that every Node 20 server will never receive.

Node.js 20 a atteint sa fin de vie le 30 avril 2026. Depuis cette date : aucun correctif de sécurité, aucun fix de CVE, aucune release officielle. Si vous faites encore tourner Node 20 en production, vous accumulez une dette de sécurité à un rythme croissant. La preuve est arrivée le 18 juin 2026 : le projet Node.js a corrigé 12 CVE sur ses trois lignes de release actives — dont deux vulnérabilités HIGH que chaque serveur Node 20 ne recevra jamais.

For AWS Lambda teams, the urgency is doubly real: Lambda is about to block new Node 20 function creation on August 31, 2026 (61 days from now), and function updates on September 30, 2026. This guide covers what you are exposed to on Node 20 today, how to choose between Node 22 LTS and Node 24, every breaking change you will encounter, and a step-by-step migration checklist.

Pour les équipes AWS Lambda, l’urgence est doublement réelle : Lambda va bloquer la création de nouvelles fonctions Node 20 le 31 août 2026 (dans 61 jours), et les mises à jour de fonctions le 30 septembre 2026. Ce guide couvre ce à quoi vous êtes exposés sur Node 20 aujourd’hui, comment choisir entre Node 22 LTS et Node 24, chaque breaking change que vous allez rencontrer, et une checklist de migration étape par étape.

The 12 CVEs from June 18, 2026 That Node 20 Will Never Receive

Les 12 CVE du 18 juin 2026 que Node 20 ne recevra jamais

On June 18, 2026, the Node.js security team released patches for Node.js 22.23.0, 24.17.0, and 26.3.1 — 12 CVEs fixed in a single coordinated drop. Two are rated HIGH severity. Node 20, being end-of-life since April 30, received nothing. Here are the two vulnerabilities every Node 20 production server is currently exposed to:

Le 18 juin 2026, l’équipe sécurité Node.js a publié des correctifs pour Node.js 22.23.0, 24.17.0 et 26.3.1 — 12 CVE corrigées en un seul drop coordonné. Deux sont évaluées HIGH severity. Node 20, en fin de vie depuis le 30 avril, n’a rien reçu. Voici les deux vulnérabilités auxquelles chaque serveur Node 20 en production est actuellement exposé :

HIGH — CVSS 7.7 CVE-2026-48618

TLS Wildcard Certificate Bypass

Contournement de certificat wildcard TLS

Node.js did not normalize Unicode dot separators (U+FF0E, U+2E) during TLS server identity checks, creating a mismatch between the DNS resolver and the certificate verifier. An attacker controlling a subdomain of a wildcard-certified domain can bypass wildcard-depth authentication — the most common certificate pattern in multi-tenant SaaS. CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N. Affected active lines: Node 22.x (≤22.22.3), 24.x (≤24.16.0), 26.x (≤26.3.0). Fixed in 22.23.0, 24.17.0, 26.3.1. Node 20: no fix ever.

Node.js ne normalisait pas les séparateurs Unicode de type point (U+FF0E, U+2E) lors des vérifications d’identité TLS, créant un écart entre le résolveur DNS et le vérificateur de certificat. Un attaquant contrôlant un sous-domaine d’un domaine certifié wildcard peut contourner l’authentification wildcard — le schéma de certificat le plus courant dans les SaaS multi-tenant. CVSS 7.7. Lignes actives affectées : Node 22.x (≤22.22.3), 24.x, 26.x. Corrigé en 22.23.0, 24.17.0, 26.3.1. Node 20 : aucun correctif, jamais.

HIGH CVE-2026-48933

WebCrypto 2 GiB Integer Overflow — Process Crash

Débordement d’entier WebCrypto 2 Gio — crash de processus

An integer overflow in the WebCrypto implementation aborts the Node.js process when subtle.encrypt() receives input that is a multiple of 2 GiB. The cipher output length guard was missing at that threshold. Practical impact: a Next.js or Express API route that buffers a large file upload before encrypting it hits the failure condition exactly at 2 GiB and kills the process — a denial-of-service exploitable by any authenticated user with upload access. Fixed in Node 22.23.0, 24.17.0, 26.3.1. Node 20: no fix ever.

Un débordement d’entier dans l’implémentation WebCrypto provoque l’arrêt du processus Node.js quand subtle.encrypt() reçoit une entrée multiple de 2 Gio. La garde sur la longueur de sortie du chiffrement était absente à ce seuil. Impact pratique : une route API Next.js ou Express qui bufferise un upload de fichier avant de le chiffrer atteint exactement la condition d’échec à 2 Gio et tue le processus — un déni de service exploitable par tout utilisateur authentifié disposant d’un accès à l’upload. Corrigé en 22.23.0, 24.17.0, 26.3.1. Node 20 : aucun correctif, jamais.

Beyond these two HIGH CVEs, the June 18 batch also patched an HTTP/2 ORIGIN frame memory exhaustion (unlimited frames cause OOM on the client), multiple TLS hostname normalization issues, and Permission Model bypasses. The January 2026 releases patched a symlink-based Permission Model escape that bypassed --allow-fs-read/--allow-fs-write restrictions. The March 2026 releases patched additional DoS and __proto__-header-based crashes. Node 20 received none of the fixes shipped after April 30.

Au-delà de ces deux CVE HIGH, le lot du 18 juin corrige aussi un épuisement mémoire HTTP/2 (frames ORIGIN illimitées provoquant un OOM côté client), plusieurs problèmes de normalisation TLS et des contournements du modèle de permissions. Les releases de janvier 2026 corrigeaient une échappement symlink contournant --allow-fs-read/--allow-fs-write. Les releases de mars 2026 corrigeaient des DoS supplémentaires et des crashes via header __proto__. Node 20 n’a reçu aucun de ces correctifs publiés après le 30 avril.

12
CVEs fixed June 18 — none for Node 20
CVE corrigées le 18 juin — zéro pour Node 20
Source: nodejs.org, June 2026 Security Releases
7.7
CVSS score for CVE-2026-48618 (TLS bypass)
Score CVSS de CVE-2026-48618 (bypass TLS)
Source: NVD, vulnerability.circl.lu
Aug 31
AWS Lambda blocks new Node 20 function creation
AWS Lambda bloque la création de fonctions Node 20
Source: AWS Lambda Runtimes docs, 2026
Apr 30
Node.js 20 official EOL date (2026)
Date officielle EOL Node.js 20 (2026)
Source: nodejs.org/en/about/eol

AWS Lambda Node 20 Deprecation: The Three Deadlines

Dépréciation AWS Lambda Node 20 : Les Trois Échéances

For serverless teams, the Node.js upstream EOL is only the start. AWS Lambda has its own three-phase deprecation schedule for nodejs20.x, and two of those three phases are still ahead of you:

Pour les équipes serverless, la fin de vie en amont Node.js n’est que le début. AWS Lambda a son propre calendrier de dépréciation en trois phases pour nodejs20.x, et deux de ces trois phases sont encore devant vous :

Phase Phase Date Date Impact Impact Status Statut
Phase 1 Phase 1 April 30, 2026 30 avril 2026 Lambda stops patching nodejs20.x runtime Lambda arrête de patcher le runtime nodejs20.x ✘ Already passed ✘ Déjà passé
Phase 2 Phase 2 August 31, 2026 31 août 2026 Cannot create new nodejs20.x Lambda functions Impossible de créer de nouvelles fonctions Lambda nodejs20.x ⚠ In 61 days ⚠ Dans 61 jours
Phase 3 Phase 3 September 30, 2026 30 septembre 2026 Cannot update existing nodejs20.x Lambda functions Impossible de mettre à jour les fonctions Lambda nodejs20.x existantes In 91 days Dans 91 jours

Phase 2 is the most disruptive for most teams: your deployment pipeline will start failing on August 31 if it creates or deploys Lambda functions using the nodejs20.x runtime. The typical migration lead time for a multi-function serverless application is 3–6 weeks including staging environment testing, dependency compatibility verification, and team review cycles. You are at the outer edge of that window now.

La phase 2 est la plus perturbatrice pour la plupart des équipes : votre pipeline de déploiement commencera à échouer le 31 août si il crée ou déploie des fonctions Lambda utilisant le runtime nodejs20.x. Le délai typique de migration pour une application serverless multi-fonctions est de 3 à 6 semaines incluant les tests en environnement de staging, la vérification de compatibilité des dépendances et les cycles de revue équipe. Vous êtes exactement à la limite de cette fenêtre maintenant.

Node 22 LTS vs Node 24: Which Should You Target?

Node 22 LTS vs Node 24 : Lequel Cibler ?

You have two migration targets. Here is how to choose:

Vous avez deux cibles de migration. Voici comment choisir :

Node.js 22 LTS — Recommended for most teams

Node.js 22 LTS — Recommandé pour la plupart

  • LTS since October 2024, EOL April 2027
  • LTS depuis octobre 2024, EOL avril 2027
  • Available on AWS Lambda since November 2024
  • Disponible sur AWS Lambda depuis novembre 2024
  • Callback-style handlers still supported
  • Handlers en style callback toujours supportés
  • Shortest migration path from Node 20
  • Chemin de migration le plus court depuis Node 20
  • Current patch: 22.23.0 (June 18, 2026)
  • Patch actuel : 22.23.0 (18 juin 2026)

Node.js 24 — For greenfield or long-term investment

Node.js 24 — Pour les projets neufs ou LT

  • Available on AWS Lambda since November 2025
  • Disponible sur AWS Lambda depuis novembre 2025
  • EOL April 2028 — 2 more years after Node 22
  • EOL avril 2028 — 2 ans de plus après Node 22
  • Callback-style Lambda handlers are REMOVED
  • Handlers Lambda en style callback SUPPRIMÉS
  • Requires async/await rewrite for Lambda functions
  • Nécessite une récriture async/await des fonctions Lambda
  • Current patch: 24.17.0 (June 18, 2026)
  • Patch actuel : 24.17.0 (18 juin 2026)

Decision rule: If your Lambda functions use the classic callback pattern — exports.handler = (event, context, callback) => { callback(null, response); } — go to Node 22 first. Rewriting callbacks to async/await is the right thing to do, but it is a separate migration effort from the runtime upgrade. Don’t conflate them when you have a 61-day deadline. Upgrade to Node 22 now, schedule the async/await refactor for later, then evaluate Node 24 when Node 22 approaches EOL in 2027.

Règle de décision : Si vos fonctions Lambda utilisent le pattern callback classique — exports.handler = (event, context, callback) => { callback(null, response); } — allez d’abord sur Node 22. Récrire les callbacks en async/await est la bonne chose à faire, mais c’est un effort de migration séparé de la mise à niveau du runtime. Ne les mélangez pas quand vous avez une déadline de 61 jours. Passez sur Node 22 maintenant, planifiez le refactoring async/await plus tard, puis évaluez Node 24 quand Node 22 approchera de sa fin de vie en 2027.

Breaking Changes from Node.js 20 to Node.js 22

Breaking Changes de Node.js 20 vers Node.js 22

Most Node 20 to Node 22 migrations require only dependency updates and a build pipeline change. But four specific breaking changes can cause silent runtime failures if you don’t address them before switching:

La plupart des migrations Node 20 vers Node 22 ne nécessitent que des mises à jour de dépendances et un changement de pipeline de build. Mais quatre breaking changes spécifiques peuvent provoquer des échecs silencieux au runtime si vous ne les traitez pas avant de basculer :

1. ESM Import Assertions Removed — Use Import Attributes

1. Assertions d’import ESM supprimées — Utiliser les attributs d’import

The old assert keyword syntax for ESM imports was dropped entirely in Node.js 22.0.0. The replacement is with (import attributes):

L’ancienne syntaxe avec le mot-clé assert pour les imports ESM a été supprimée dans Node.js 22.0.0. Le remplacement est with (attributs d’import) :

// Node 20 — BREAKS on Node 22
import config from './config.json' assert { type: 'json' };

// Node 22+ — use import attributes
import config from './config.json' with { type: 'json' };

Grep your codebase for assert { type: before migrating. This will cause a syntax error on Node 22 at startup.

Cherchez dans votre code source assert { type: avant de migrer. Cela provoquera une erreur de syntaxe au démarrage sur Node 22.

2. crypto.createCipher / createDecipher Removed

2. crypto.createCipher / createDecipher supprimées

The deprecated crypto.createCipher and crypto.createDecipher APIs are gone in Node 22. You must use createCipheriv and createDecipheriv with an explicit IV:

Les API dépréciées crypto.createCipher et crypto.createDecipher ont été supprimées dans Node 22. Vous devez utiliser createCipheriv et createDecipheriv avec un IV explicite :

// Node 20 — REMOVED in Node 22
const cipher = crypto.createCipher('aes-256-cbc', password);

// Node 22+ — explicit IV required (more secure)
const iv = crypto.randomBytes(16);
const cipher = crypto.createCipheriv('aes-256-cbc', key, iv);

This is a security improvement — implicit IV derivation from passwords was weak. Search for createCipher( and createDecipher( in your codebase.

C’est une amélioration de sécurité — la dérivation implicite d’IV depuis des mots de passe était faible. Cherchez createCipher( et createDecipher( dans votre code.

3. Native Addons Need Recompilation (ABI Change)

3. Les addons natifs doivent être recompilés (changement d’ABI)

Node.js 22 bumped NODE_MODULE_VERSION to 127. Binary addons compiled against Node 20 (module version 115) are ABI-incompatible. Any package that ships precompiled binaries — bcrypt, sharp, canvas, sqlite3, better-sqlite3, node-sass, CPU-intensive native modules — must be rebuilt or upgraded to a version targeting Node 22. If you migrated native modules from prebuild-install to prebuildify for the npm v12 migration, those prebuilt binaries are already scoped to Node module versions — verify they include Node 22 artifacts.

Node.js 22 a incrémenté NODE_MODULE_VERSION à 127. Les addons binaires compilés pour Node 20 (version de module 115) ne sont pas compatibles ABI. Tout package qui livre des binaires précompilés — bcrypt, sharp, canvas, sqlite3, better-sqlite3, node-sass, modules natifs CPU-intensifs — doit être reconstruit ou mis à jour vers une version ciblant Node 22. Si vous avez migré vos modules natifs de prebuild-install vers prebuildify pour la migration npm v12, vérifiez que ces binaires précompilés incluent des artefacts Node 22.

4. Windows: .bat / .cmd Spawn Blocked

4. Windows : spawn de .bat / .cmd bloqué

Node.js 22.0.0 blocks direct spawning of .bat and .cmd files on Windows via child_process (addresses CVE-2024-27980). Any code passing a .bat path directly to spawn() must now explicitly invoke cmd.exe:

Node.js 22.0.0 bloque le spawn direct de fichiers .bat et .cmd sur Windows via child_process (corrige CVE-2024-27980). Tout code passant un chemin .bat directement à spawn() doit maintenant invoquer explicitement cmd.exe :

// Node 20 — BLOCKED on Node 22 (Windows)
child_process.spawn('build.bat', args);

// Node 22+ — explicit cmd.exe required
child_process.spawn('cmd.exe', ['/c', 'build.bat', ...args]);

5. Permission Model Flag Renamed

5. Flag du modèle de permissions renommé

The experimental Permission Model flag changed from --experimental-permission (Node 20) to simply --permission (Node 22+). If your startup scripts or process managers pass the old flag, update them. The Permission Model also gained tighter symlink handling in 2026 — processes with filesystem access now require explicit symlink resolution grants, which is relevant if you process file uploads via symbolic link paths.

Le flag expérimental du modèle de permissions a changé de --experimental-permission (Node 20) en simplement --permission (Node 22+). Si vos scripts de démarrage ou gestionnaires de processus passent l’ancien flag, mettez-les à jour. Le modèle de permissions a aussi gagné une gestion plus stricte des symlinks en 2026.

Step-by-Step Migration Checklist: Node 20 to Node 22

Checklist de Migration Étape par Étape : Node 20 vers Node 22

Follow this order for the lowest-risk migration. Estimated time: 1 day for a standard application, 1 week for a complex multi-service codebase.

Suivez cet ordre pour la migration à moindre risque. Temps estimé : 1 jour pour une application standard, 1 semaine pour une base de code multi-services complexe.

# Step 1 — Install Node 22 locally (use nvm or fnm)
nvm install 22
nvm use 22
node --version  # Should print v22.x.x

# Step 2 — Scan for removed/changed APIs
grep -r "assert { type:" . --include="*.js" --include="*.mjs" --include="*.ts"
grep -r "createCipher(" . --include="*.js" --include="*.ts"
grep -r "createDecipher(" . --include="*.js" --include="*.ts"

# Step 3 — Update .nvmrc / .node-version
echo "22" > .nvmrc

# Step 4 — Update engines field in package.json
# "engines": { "node": ">=22.0.0" }

# Step 5 — Reinstall dependencies (recompile native addons)
rm -rf node_modules
npm ci

# Step 6 — Run your test suite
npm test

# Step 7 — Verify native modules ABI
node -e "require('bcrypt')"         # or sharp, canvas, sqlite3, etc.
node -e "require('better-sqlite3')"

# Step 8 — Check WebCrypto usage (optional if you use subtle.encrypt)
grep -r "subtle.encrypt" . --include="*.js" --include="*.ts"
# Ensure input buffers are guarded against 2 GiB threshold

# Step 9 — Update CI/CD pipeline
# GitHub Actions example:
# uses: actions/setup-node@v4
# with:
#   node-version: '22'

# Step 10 — For AWS Lambda: update runtime identifier
# In your CDK/SAM/Serverless Framework config:
# runtime: nodejs22.x  (instead of nodejs20.x)

AWS Lambda: Updating the Runtime

AWS Lambda : Mettre à jour le runtime

# SAM template.yaml
Properties:
  Runtime: nodejs22.x   # was: nodejs20.x
  Handler: index.handler

# Serverless Framework serverless.yml
provider:
  runtime: nodejs22.x   # was: nodejs20.x

# AWS CDK (TypeScript)
new lambda.Function(this, 'MyFunction', {
  runtime: lambda.Runtime.NODEJS_22_X,  // was: NODEJS_20_X
  handler: 'index.handler',
  code: lambda.Code.fromAsset('lambda'),
});

After updating the runtime identifier, redeploy and verify your function invocations succeed in a staging environment before promoting to production. Pay particular attention to cold start times — Node 22 cold starts in Lambda are comparable to Node 20.

Après avoir mis à jour l’identifiant de runtime, redéployez et vérifiez que les invocations de votre fonction réussissent en environnement de staging avant de promouvoir en production. Accordez une attention particulière aux temps de cold start — les cold starts Node 22 dans Lambda sont comparables à Node 20.

EOL Software & Compliance: PCI-DSS, EU CRA and What Auditors Will Flag

Logiciel EOL & Conformité : PCI-DSS, EU CRA et ce que les auditeurs vont signaler

Running EOL software in production is not just a security risk — it is increasingly a compliance failure. Under PCI-DSS 4.0, Requirement 6.3.3 mandates that all software components be protected from known vulnerabilities via security patches. An EOL runtime that no longer receives patches fails this requirement automatically. HIPAA covered entities running Node 20 in healthcare systems face similar audit exposure. The EU Cyber Resilience Act (CRA), whose SBOM and patch reporting requirements take effect in September 2026, explicitly requires manufacturers to address known exploitable vulnerabilities in a timely manner. An EOL runtime with unfixed HIGH CVEs will be flagged.

Faire tourner des logiciels EOL en production n’est pas seulement un risque sécurité — c’est de plus en plus un échec de conformité. Sous PCI-DSS 4.0, la Requirement 6.3.3 exige que tous les composants logiciels soient protégés contre les vulnérabilités connues via des correctifs de sécurité. Un runtime EOL qui ne reçoit plus de patches échoue automatiquement à cette exigence. Le Règlement européen sur la résilience cybérnétique (CRA), dont les exigences SBOM et de reporting de patches entrent en vigueur en septembre 2026, exige explicitement que les fabricants traitent en temps voulu les vulnérabilités exploitées connues. Un runtime EOL avec des CVE HIGH non corrigées sera signalé.

Frequently Asked Questions

Questions fréquentes

Is Node.js 20 still safe to run in July 2026?

Node.js 20 est-il encore sûr à faire tourner en juillet 2026 ?

No. Node 20 has been end-of-life since April 30, 2026, and it does not receive security patches. The June 18, 2026 release patched two HIGH-severity vulnerabilities (CVE-2026-48618, CVE-2026-48933) that will never be fixed on Node 20. Every additional month without migrating increases your exposure as new vulnerabilities are discovered and patched on supported lines only.

Non. Node 20 est en fin de vie depuis le 30 avril 2026 et ne reçoit plus de patches de sécurité. La release du 18 juin 2026 a corrigé deux vulnérabilités de sévérité HIGH (CVE-2026-48618, CVE-2026-48933) qui ne seront jamais corrigées sur Node 20. Chaque mois supplémentaire sans migration augmente votre exposition car de nouvelles vulnérabilités sont découvertes et corrigées uniquement sur les lignes supportées.

What happens to my AWS Lambda functions on August 31, 2026?

Que se passe-t-il avec mes fonctions AWS Lambda le 31 août 2026 ?

Existing Node 20 Lambda functions will still run after August 31. What changes is that you cannot create new functions with nodejs20.x after August 31, and you cannot update (redeploy) existing Node 20 functions after September 30. That means any deployment of your current application will fail from September 30 if you have not updated the runtime.

Les fonctions Lambda Node 20 existantes continueront de fonctionner après le 31 août. Ce qui change, c’est que vous ne pourrez pas créer de nouvelles fonctions avec nodejs20.x après le 31 août, et vous ne pourrez pas mettre à jour (redéployer) des fonctions Node 20 existantes après le 30 septembre. Cela signifie que tout déploiement de votre application actuelle échouera à partir du 30 septembre si vous n’avez pas mis à jour le runtime.

Do I have to rewrite my Lambda functions to move from Node 20 to Node 22?

Dois-je réécrire mes fonctions Lambda pour passer de Node 20 à Node 22 ?

For most Lambda functions, no. Node 22 still supports the classic callback-style handler pattern (callback(null, response)). The main code changes required are: replacing any assert { type: 'json' } import syntax with with { type: 'json' }, replacing crypto.createCipher/createDecipher with the iv-based equivalents, and recompiling native addons if you have them. Most Lambda functions require zero code changes.

Pour la plupart des fonctions Lambda, non. Node 22 prend toujours en charge le pattern handler en style callback classique (callback(null, response)). Les principaux changements de code requis sont : remplacer toute syntaxe d’import assert { type: 'json' } par with { type: 'json' }, remplacer crypto.createCipher/createDecipher par les équivalents basés sur un iv, et recompiler les addons natifs si vous en avez. La plupart des fonctions Lambda ne nécessitent aucun changement de code.

What does CVE-2026-48618 actually allow an attacker to do?

Que permet concrètement CVE-2026-48618 à un attaquant ?

CVE-2026-48618 (CVSS 7.7) allows bypassing wildcard TLS certificate verification. An attacker who controls a hostname that uses Unicode dot substitutes (e.g., U+FF0E instead of the standard period) can make Node.js accept it as valid under a wildcard certificate. This is most impactful in multi-tenant SaaS where *.example.com certificates are common — a malicious tenant could potentially present a hostname that bypasses Node’s built-in identity verification and intercept or forge HTTPS connections.

CVE-2026-48618 (CVSS 7.7) permet de contourner la vérification des certificats TLS wildcard. Un attaquant qui contrôle un nom d’hôte utilisant des substituts Unicode de point (ex. U+FF0E au lieu du point standard) peut amener Node.js à l’accepter comme valide sous un certificat wildcard. C’est le plus impactant dans les SaaS multi-tenant où les certificats *.example.com sont courants — un tenant malveillant pourrait potentiellement présenter un nom d’hôte qui contourne la vérification d’identité intégrée de Node et intercepter ou falsifier des connexions HTTPS.

Should I go directly to Node 24 to avoid another migration soon?

Dois-je aller directement sur Node 24 pour éviter une nouvelle migration bientôt ?

Node 24 has a later EOL (April 2028 vs April 2027 for Node 22), but it introduces a significant Lambda-specific breaking change: callback-style function handlers are no longer supported. For teams with any Lambda functions using the callback pattern, Node 22 is the safer immediate target. You can plan a Node 24 migration for 2027 with more lead time. For new greenfield projects or teams already using async/await everywhere, Node 24 is a good direct target.

Node 24 a une EOL plus tardive (avril 2028 vs avril 2027 pour Node 22), mais il introduit un breaking change significatif spécifique à Lambda : les handlers de fonctions en style callback ne sont plus supportés. Pour les équipes ayant des fonctions Lambda utilisant le pattern callback, Node 22 est la cible immédiate plus sûre. Vous pouvez planifier une migration Node 24 pour 2027 avec plus de temps. Pour les nouveaux projets greenfield ou les équipes utilisant déjà async/await partout, Node 24 est une bonne cible directe.

How do I know which of my dependencies have native addons?

Comment savoir lesquelles de mes dépendances ont des addons natifs ?

Run npm ls --parseable | xargs -I {} find {} -name "binding.gyp" -maxdepth 2 to list all packages with a binding.gyp file (native addon indicator). Alternatively, look for packages with hasInstallScript: true in your package-lock.json — these are the ones most likely to ship precompiled binaries that need recompiling for a new Node ABI version.

Exécutez npm ls --parseable | xargs -I {} find {} -name "binding.gyp" -maxdepth 2 pour lister tous les packages avec un fichier binding.gyp (indicateur d’addon natif). Alternativement, cherchez les packages avec hasInstallScript: true dans votre package-lock.json — ceux-ci sont les plus susceptibles de livrer des binaires précompilés qui doivent être recompilés pour une nouvelle version ABI de Node.

Know Which of Your Projects Still Run Node 20

Sachez quels projets font encore tourner Node 20

CVE OptiBot scans your lockfiles and dependency trees daily. When a dependency is vulnerable on an EOL runtime — or when a new CVE affects packages you use — you get an instant alert with the affected version, CVSS score, and patch path. No code access required.

CVE OptiBot scanne vos lockfiles et arbres de dépendances chaque jour. Quand une dépendance est vulnérable sur un runtime EOL — ou quand une nouvelle CVE touche vos packages — vous recevez une alerte instantanée avec la version affectée, le score CVSS et le chemin de patch. Sans accès à votre code.

Start free monitoring Démarrer le monitoring gratuit