Node.js to Issue CVE for End-of-Life Versions
2025/01/09 SecurityOnline — Node.js プロジェクトが発表したのは、サポートが終了したバージョン (EOL:End-of-Life) に対して、CVE を発行するという方針である。これは、ユーザーに最新状態の維持を促し、セキュリティ強化する、重要な取り組みである。Node.js の公式発表には、「Node.js 上で構築されたアプリケーションの、セキュリティと信頼性の確保に全力を尽くしている。この取り組みの一環として、ユーザーがセキュリティ・リスクに関する情報を常に把握できるよう、定期的に手段を見直している」と記されている。

EOL バージョンに対して、新たに割り当てられる CVE が示すものは、それらのバージョンがメンテナンスの対象外であるという事実と、重大なセキュリティ脆弱性を含んでいる可能性である。それらの CVE は、CWE-1104:Use of Unmaintained Third Party Components (メンテナンスされていないサードパーティ製コンポーネントの使用) に分類される。
このような CVE 通知は、ソフトウェア・インフラ全体における脆弱性の管理のために、多くの組織で利用されている。これまでに Node.js は、アクティブにサポートされているバージョンの脆弱性に対して真摯に対応/公表してきたが、EOL バージョンに CVE が付与されることはなかった。
EOL バージョンに対して CVE を発行することで、Node.js が目指すのは、以下の項目の達成である:
- ユーザーへの注意喚起:EOL バージョンに伴う潜在的な危険性について、ユーザーに周知する。
- アップグレードの促進:組織や開発者に対して、サポート対象の Node.js リリースに移行するように促す。
- セキュリティの向上:古くて脆弱なバージョンの Node.js を実行するアプリケーションの総数を減らす。
この決定は、EOL バージョンが広く利用されている状況を考慮したものである。Node.js v16 に関して言えば、1年以上前に EOL を迎えているが、驚くべきことに、いまでも 1,100万/月のペースでダウンロードされている。
EOL バージョンの Node.js を使用しているユーザーに推奨されるのは、サポートの対象となっているバージョンへと、ただちにアップグレードすることだ。有効なバージョンとメンテナンス・スケジュールについては、Node.js Release Schedule で確認できる。
アプリケーションで使用されている Node.js のバージョンについては、ターミナル上で node -v コマンドを実行すると確認できる。また、使用中のバージョンに関連する CVE の有無については、is-my-node-vulnerable ツールで確認できる。
npx is-my-node-vulnerable
現時点において、アクティブにサポートされている Node.js バージョンは以下の通りだ:
- Node.js 23 (Current)
- Node.js 22 (LTS)
- Node.js 20 (Maintenance LTS)
- Node.js 18 (Maintenance LTS)
その他のバージョンは、すべて非推奨と見なされるため、アップグレードする必要がある。
Node.js のセキュリティ体制が変更となり、EOL バージョンを使用しているユーザーに対しても、脆弱性報が提供されるようになるそうです。それにより、サポートの対象である、新しい Node.js リリースへの移行が促進されるはずです。古いバージョンを、ご利用のチームは、最新の情報を、ぜひ ご確認ください。よろしければ、Node.js で検索も、ご参照ください。
You must be logged in to post a comment.