Fin de vie (EOL)

Pourquoi et comment les versions de Node.js arrivent en fin de vie

Les versions majeures de Node.js sont publiées, corrigées et déclarées en fin de vie selon un calendrier prévisible. Comme il n'est pas possible de maintenir toutes les versions à perpétuité, après une période de maintenance planifiée, une version majeure de Node.js ne sera plus prise en charge par le projet.

Consultez le calendrier des versions de Node.js.

Que se passe-t-il lorsqu'une ligne de versions arrive en fin de vie ?

Lorsqu'une version arrive en fin de vie, cela signifie qu'elle ne recevra plus de mises à jour, y compris les correctifs de sécurité. Cela peut rendre les applications fonctionnant sur ces versions vulnérables à des problèmes de sécurité et à des bogues qui ne seront jamais corrigés.

  • Plus aucune correction de vulnérabilité : lorsque de nouvelles versions de sécurité révèlent des problèmes et des correctifs dans les versions majeures plus récentes, même si la même vulnérabilité affecte les versions en fin de vie (EOL), aucune nouvelle version ne sera publiée pour celles-ci. Les utilisateurs qui continuent à utiliser les versions EOL et les chemins d'accès au code affectés seront immédiatement exposés aux attaques exploitant ces vulnérabilités divulguées.
  • Rupture de la chaîne d'outils : les versions en fin de vie (EOL) peuvent ne plus être liées dynamiquement aux versions plus récentes des bibliothèques partagées dont elles dépendent, ce qui bloque ou interrompt les mises à jour du système.
  • Dérive de l'écosystème : de nombreux paquets populaires destinés aux utilisateurs cessent progressivement de prendre en charge les versions EOL de Node.js. Lorsqu'une application continue d'utiliser des paquets obsolètes, elle peut souffrir d'un nombre encore plus important de vulnérabilités et de bogues non corrigés, s'éloignant ainsi davantage de la norme de l'écosystème.
  • Signaux d'alerte en matière de conformité : de nombreux audits sectoriels interdisent les environnements d'exécution non maintenus.

Versions en fin de vie

Version (Codename)Last updatedVulnerabilitiesDetails
v23
2High2Medium
v21
7High5Medium
v19
1High3Medium2Low
v18 (Hydrogen)
15High19Medium4Low
v17
1High3Medium1Low
v16 (Gallium)
11High18Medium4Low
v15
1Critical6High1Medium1Low
v14 (Fermium)
2Critical16High16Medium5Low
v13
1Critical2High
v12 (Erbium)
2Critical13High6Medium3Low
v11
3High1Medium
v10 (Dubnium)
1Critical12High3Medium1Low
v9
1Critical4High1Medium1Low
v8 (Carbon)
1Critical11High2Medium1Low
v7
3High2Medium
v6 (Boron)
16High12Medium
v5
15High8Medium
v4 (Argon)
2Critical17High9Medium
v0
2Critical

Support Commercial

Malgré les inconvénients évidents liés à l'utilisation des versions EOL, dans la pratique, les organisations sont confrontées à des contraintes qui les empêchent de procéder à des mises à niveau immédiates, telles que les bases de code héritées, les exigences de conformité ou les chaînes de dépendances complexes. Grâce au programme de durabilité de l'écosystème de la Fondation OpenJS, Node.js est pris en charge par HeroDevs et NodeSource afin de fournir des services commerciaux pour les correctifs de sécurité.

HeroDevs fournit une assistance permanente (NES) pour les versions Node.js dont la phase de maintenance officielle est terminée. Cela comprend des correctifs de sécurité, une aide à la conformité et une assistance technique pour vous aider à combler le fossé pendant que vous planifiez votre stratégie de mise à niveau.

L'utilisation des versions EOL(fin de vie) via NES doit être considérée comme une solution temporaire. L'objectif doit toujours être de passer à des versions activement prises en charge.