Node.js の脆弱性 CVE-2024-36138 が FIX:Windows 上で RCE の恐れ

CVE-2024-36138: High-Severity Vulnerability in Node.js Allows Code Execution on Windows

2024/07/08 SecurityOnline — Node.js プロジェクトが公開したのは、複数の脆弱性に対処するセキュリティ・アップデートであり、その中には、セキュリティ・バイパスと任意のコード実行へといたる、深刻度の高い脆弱性も含まれる。最も深刻な脆弱性 CVE-2024-36138 は、以前に問題となった CVE-2024-27980 (通称:BatBadBut) に対する、不完全な修正をバイパスするものだ。この脆弱性の悪用に成功した攻撃者は、Windows 上でシェル・オプションが無効化されている場合であっても、任意のコマンド・インジェクションが可能になる。この脆弱性は、Node.js の全リリース・ライン (v18.x/v20.x/v22.x) に影響を及ぼし、Windows ユーザーに深刻なリスクをもたらす。


このアップデートは、上記の深刻度の高い脆弱性 CVE-2024-36138 に加えて、以下のような Medium~Low レベルの脆弱性にも対処している:

  • CVE-2024-22020 (Medium):データ URL に非ネットワーク・インポートを埋め込むことに成功した攻撃者が、ネットワーク・インポートの制限を回避し、任意のコードを実行する可能性を得る。
  • CVE-2024-36137 (Low):Node.js 20/22 の実験的なパーミッション・モデルを迂回した攻撃者が、”読み取り専用” のファイル記述子を悪用して、ファイルの所有者やパーミッションを変更する可能性を得る。
  • CVE-2024-22018 (Low):実験的なパーミッション・モデルのバイパスにより、明示的な読み取りアクセスを必要とせずに、ファイル記述子へのアクセスが可能になる。
  • CVE-2024-37372 (Low):Windows における UNC パスのパーミッション・モデルの処理に影響を及ぼし、 潜在的な脆弱性を引き起こす。

これらの脆弱性が影響を及ぼす範囲は、Node.js の全ユーザーとなるが、Windows システム上で実験的なパーミッション・モデルを使用しているユーザーは、特に注意する必要がある。

Node.jsプロジェクトが、すべてのユーザーに対して強く推奨するのは、最新バージョンへのアップグレードである:

これらのアップデートには、特定されたすべての脆弱性に対するパッチが含まれている。

Node.js は広く使われている JavaScript 実行環境であり、数多くの Web アプリケーション/サービスを動かしている。これらの脆弱性の悪用に成功した攻撃者により、アプリケーションのセキュリティと完全性が侵害される可能性があり、データ侵害/サービス運用妨害などの深刻な結果につながる恐れがある。対象となるユーザーにとって極めて重要なことは、システムとデータを保護するために、早急に対策を講じることである。