サポート終了(EOL)
Node.jsのサポート終了(End-Of-Life)について
Node.jsのメジャーバージョンは予定されたスケジュールでリリースやパッチの適用を経て、サポート終了(End-Of-Life)を迎えます。すべてのリリースラインを永続的に維持することは現実的ではないため計画されたメンテナンス期間の終了後、Node.jsのメジャーリリースラインはプロジェクトによるメンテナンスを終了します。
EOLになったリリースラインについて
サポート終了(End-Of-Life)を迎えたバージョンはセキュリティーパッチを含む更新が提供されなくなります。これによりこれらのバージョンで動作するアプリケーションは修正されないセキュリティー上の問題やバグに対して脆弱な状態に置かれる可能性があります。
- 脆弱性修正の提供終了:新しいセキュリティーリリースで新たな脆弱性が発見され、主要な新バージョンラインにパッチが適用された場合、たとえ同じ脆弱性がサポート終了(EOL)のリリースラインに影響を与えていても、それらに対する新たなリリースは提供されません。サポート終了のリリースラインを使い続け、影響を受けるコードを使用しているユーザーはこれらの公開された脆弱性を悪用する攻撃に対して即座に脆弱な状態となります。
- ツールチェーンの破損:EOLバージョンは依存する共有ライブラリーの新バージョンへの動的リンクができなくなる可能性があり、システム更新を妨げたり壊す恐れがあります。
- エコシステムドリフト:多くの一般的なサードパーティーパッケージは時間の経過とともにEOLバージョンのサポートを終了します。アプリケーションが古いパッケージに固執すると修正されていない脆弱性やバグにさらされる可能性が高まり、エコシステムの標準からさらに離れていくことになります。
- コンプライアンス上の危険信号:多くの業界の監査ではメンテナンスされていないランタイムの使用を禁止されています。
EOLバージョン
バージョン (コードネーム) | 最終更新日 | 脆弱性 | 詳細 |
---|---|---|---|
v23 | 2高2中 | ||
v21 | 7高5中 | ||
v19 | 1高3中2低 | ||
v18 (Hydrogen) | 15高19中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バージョンの使用は一時的な解決策と見なすべきであり、常に積極的にサポートされているバージョンへのアップグレードを目標とすべきです。