サポート終了(EOL)
サポート終了となるNode.jsバージョンについて
Node.jsのメジャーバージョンは予測可能なスケジュールに従ってリリースされ、パッチが適用され、サポート終了(EOL)となります。すべてのリリースラインを永久に維持することは現実的ではないため、計画されたメンテナンス期間を持って、Node.jsのメジャーバージョンのリリースラインはメンテナンスを終了します。
リリースラインがEOLになった際に起こること
バージョンがサポート終了(EOL)に達すると、そのバージョンはセキュリティパッチを含むすべての更新プログラムの提供が終了します。これにより、これらのバージョンで動作するアプリケーションは、修正されないままのセキュリティ上の脆弱性やバグにさらされる可能性があります。
- 脆弱性修正の終了: 新しいセキュリティ更新プログラムで、より新しいメジャーバージョンで問題やパッチが発見された場合、同じ脆弱性がEOLのバージョンに影響を与える場合でも、それらに対して新しいリリースは提供されません。EOL済みのバージョンに依存し、影響を受けるコードを使用し続けるユーザーは、これらの脆弱性を悪用した攻撃に対して即座に脆弱な状態になります。
- ツールチェーンの破損: EOLのバージョンは依存する共有ライブラリの新しいバージョンに動的にリンクできなくなるため、システム更新がブロックされたり破損したりする可能性があります。
- エコシステムドリフト: 多くの人気のあるユーザーランドのパッケージは時間の経過とともにEOLとなったNode.jsのバージョンへのサポートを終了します。アプリケーションが古いパッケージに依存し続けると、未修正の脆弱性やバグにさらされるリスクが高まり、エコシステムの標準からさらに乖離していく可能性があります。
- コンプライアンスの警告: 多くの業界の監査ではメンテナンスが行われていないランタイムの使用が禁止されています。
EOLのバージョン
バージョン (コードネーム) | 最終更新日 | 脆弱性 | 詳細 |
---|---|---|---|
v23 | 2高2中 | 詳細 | |
v21 | 6高6中 | 詳細 | |
v19 | 1高3中2低 | 詳細 | |
v18 (Hydrogen) | 14高20中4低 | 詳細 | |
v17 | 1高3中1低 | 詳細 | |
v16 (Gallium) | 11高18中4低 | 詳細 | |
v15 | 1深刻6高1中1低 | 詳細 | |
v14 (Fermium) | 2深刻16高16中5低 | 詳細 | |
v13 | 1深刻2高 | 詳細 | |
v12 (Erbium) | 2深刻13高6中3低 | 詳細 | |
v11 | 3高1中 | 詳細 | |
v10 (Dubnium) | 1深刻12高3中1低 | 詳細 | |
v9 | 1深刻4高1中1低 | 詳細 | |
v8 (Carbon) | 1深刻11高2中1低 | 詳細 | |
v7 | 3高2中 | 詳細 | |
v6 (Boron) | 16高12中 | 詳細 | |
v5 | 15高8中 | 詳細 | |
v4 (Argon) | 2深刻17高9中 | 詳細 | |
v0 | 2深刻 | 詳細 |
商用サポート
EOLのバージョンを使用する明らかな欠点にもかかわらず、組織はレガシーコードベース、コンプライアンス要件、または複雑な依存関係チェーンなど、即時アップグレードを妨げる制約に直面しています。即時アップグレードが不可能ながら、Node.jsのEOLバージョンに対する継続的なセキュリティサポートが必要なユーザー向けに、OpenJSエコシステム持続可能プログラムパートナーシップを通じて商用サポートが提供されています。
Node.jsは現在HeroDevsと提携し公式メンテナンスを終了したNode.jsのバージョン向けに「Never-Ending Support(NES)」を提供しています。これにはセキュリティパッチ、コンプライアンス支援、および技術サポートが含まれ、アップグレード戦略を計画する際にギャップを埋めるお手伝いをします。詳細な情報については、HeroDevs Node.js NESページをご覧ください。
NES経由でEOLバージョンを使用することは一時的な解決策として捉えるべきです。目標は常に積極的にサポートされているバージョンへのアップグレードです。