CVE-2024-56334: Command Injection Flaw Exposes Millions of Node.js Systems to Attack
2024/12/23 SecurityOnline — 広く使用されている Node.js 用パッケージ systeminformation に存在する、深刻なコマンド・インジェクションの脆弱性 CVE-2024-56334 が確認された。このパッケージは、月間に 800万以上もダウンロードされ、総ダウンロード数は 3億3000万に上る。この脆弱性の悪用に成功した攻撃者は、任意の OS コマンドを実行することが可能となるが、パッケージの使用方法に応じて、リモート・コード実行 (RCE) や権限の昇格につながる可能性もある。

この脆弱性は、ネットワーク SSID 情報を取得する getWindowsIEEE8021x 関数内の、コマンド・インジェクションの欠陥に起因する。この関数は、cmd.exe にパラメータとして渡す SSID を、前もって適切にサニタイズできない。その結果として、攻撃者は Wi-Fi ネットワークの SSID 内に悪意のコマンドを埋め込むことが可能となり、脆弱性のあるシステム上で getWindowsIEEE8021x 関数が呼び出される際に、悪意のコマンド実行を達成する。
脆弱性 CVE-2024-56334 を発見したセキュリティ研究者 xAiluros は、Windows サービス内の権限を昇格させることで、その潜在的な影響を実証している。攻撃者は、SSID で Wi-Fi ホットスポットを作成することで、この脆弱性を悪用する可能性を手にする。脆弱性のあるシステムが、この悪意のネットワークに接続されると、SSID に埋め込まれた攻撃者のコマンドが実行され、リモート・コード実行や権限昇格へといたる。
以下の2つのペイロード例が、悪用の可能性を示している。
- 無期限の Ping フラッド:SSID: a” | ping /t 127.0.0.1 &
- 悪意のファイルの実行:SSID: a” | %SystemDrive%¥a¥a.exe &
この悪意の Wi-Fiネットワークへの接続が行われると、パッケージを使用するアプリケーション内の脆弱な関数を関数が呼び出される。
const si = require(‘systeminformation’);
si.networkInterfaces((net) => { console.log(net) });
それにより、上記コードの実行による攻撃が誘発され、被害者のマシン上でのペイロード実行へといたる。
この脆弱性の影響範囲は、systeminformation のバージョン 5.23.6 までとなる。すでに、バージョン 5.23.7 がリリースされ、この問題は対処されている。このパッケージを使用するユーザーに対して、強く推奨されるのは、直ちに最新バージョンへと更新することである。
Node.js のダウンロード数って、スゴイですね。こういう数字を見せつけられると、その偉大さを再認識します。Node.js に関連する、このブログでの直近のトピックは、2024/07/08 の「Node.js の脆弱性 CVE-2024-36138 が FIX:Windows 上で RCE の恐れ」です。よろしければ、Node.js で検索と併せて、ご参照ください。
You must be logged in to post a comment.