サポート終了(EOL)

Node.jsのサポート終了(End-Of-Life)について

Node.jsのメジャーバージョンは予定されたスケジュールでリリースやパッチの適用を経て、サポート終了(End-Of-Life)を迎えます。すべてのリリースラインを永続的に維持することは現実的ではないため計画されたメンテナンス期間の終了後、Node.jsのメジャーリリースラインはプロジェクトによるメンテナンスを終了します。

Node.jsのリリーススケジュールを確認する

EOLになったリリースラインについて

サポート終了(End-Of-Life)を迎えたバージョンはセキュリティーパッチを含む更新が提供されなくなります。これによりこれらのバージョンで動作するアプリケーションは修正されないセキュリティー上の問題やバグに対して脆弱な状態に置かれる可能性があります。

  • 脆弱性修正の提供終了:新しいセキュリティーリリースで新たな脆弱性が発見され、主要な新バージョンラインにパッチが適用された場合、たとえ同じ脆弱性がサポート終了(EOL)のリリースラインに影響を与えていても、それらに対する新たなリリースは提供されません。サポート終了のリリースラインを使い続け、影響を受けるコードを使用しているユーザーはこれらの公開された脆弱性を悪用する攻撃に対して即座に脆弱な状態となります。
  • ツールチェーンの破損:EOLバージョンは依存する共有ライブラリーの新バージョンへの動的リンクができなくなる可能性があり、システム更新を妨げたり壊す恐れがあります。
  • エコシステムドリフト:多くの一般的なサードパーティーパッケージは時間の経過とともにEOLバージョンのサポートを終了します。アプリケーションが古いパッケージに固執すると修正されていない脆弱性やバグにさらされる可能性が高まり、エコシステムの標準からさらに離れていくことになります。
  • コンプライアンス上の危険信号:多くの業界の監査ではメンテナンスされていないランタイムの使用を禁止されています。

EOLバージョン

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

商用サポート

EOLバージョンに明らかな欠点があるにもかかわらず、実際はレガシーコードベース、コンプライアンス要件、複雑な依存関係チェーンなど、企業は早急なアップグレードを妨げる制約に直面します。Node.jsはOpenJS Foundationエコシステム持続プログラムを通してHeroDevsとNodeSourceによってサポートされたセキュリティー修正のための商用サービスを提供しています。

HeroDevsは公式のメンテナンス期間が終了したNode.jsバージョンのNever-Ending Support(NES)を提供します。これにはセキュリティーパッチ、コンプライアンス支援、技術サポートが含まれ、アップグレード戦略を計画する間の一時的なギャップを埋めるお手伝いをします。

商用サポートによるEOLバージョンの利用は一時的な解決策と捉えるべきであり、常に積極的にサポートされているバージョンへのアップグレードを目標とすべきです。