Node.js の脆弱性 CVE-2024-27980 が FIX:ただちにアップデートを!

CVE-2024-27980: Critical Node.js Update Patches Windows Command Injection Flaw

2024/04/10 SecurityOnline — Node.js プロジェクトがリリースしたのは、Windows システムにおける深刻なコマンド・インジェクションの脆弱性 CVE-2024-27980 に対処する、緊急のセキュリティ・アップデートである。この脆弱性の悪用に成功した攻撃者は、シェル・オプションが無効化されている場合においても、影響を受けるマシン上での悪意のコード実行が可能になる。

脆弱性 CVE-2024-27980 の仕組み
  • バッチ・ファイルを狙う:この脆弱性は、”child_process.spawn” または “child_process.spawnSync” 関数を介したコード実行の際に、 Node.js が .bat ファイル (Windows のバッチ・ファイル) を処理する方法に起因する。
  • セーフガードを回避する:攻撃者は、特別に細工されたコマンドライン引数に悪意のコマンドを注入し、シェル・オプションが無効化されている場合でも、設定されたセキュリティ制限を回避できる。
  • リモート・コード実行:セキュリティのバイパスに成功した攻撃者は、脆弱なシステム上での任意のコマンド実行を、リモートから可能にする。
脆弱性の影響を受けるのは誰か?
  • Windows ユーザー:この脆弱性は、特に Windows OS 上で動作する Node.js に影響をおよぼす。
  • 全てのアクティブなバージョン:この脆弱性は、サポートされている Node.js 18.x/20.x/21.x に存在する。
パッチ適用の重要性

この脆弱性の重要度は “High” に分類されており、深刻な結果をもたらす可能性があると示唆されている。このアップデートを優先すべき理由は、以下の通りである:

  • 悪用のしやすさ:Node.js プロジェクトは、この脆弱性が悪用される可能性があるとしているため、迅速な対応が不可欠である。
  • リモート・コード実行:攻撃者は、侵害されたシステムに対する制御を獲得し、マルウェアのインストール/データの窃取/業務の妨害などを実行する可能性がある。
身を守るために行うべきことは
  1. 早急にアップグレードする:Windows システムにインストールされている Node.js を、パッチが適用されたバージョンにアップデートする。最新のリリース情報については、Node.js プロジェクトの公式チャンネルで確認できる。
  2. コードを見直す:”child_process.spawn” などの、関連する関数を使用している場合は、コマンドライン引数が改ざんできないように入力処理を見直し、追加のバリデーションとサニタイズ対策を検討する。