Node.jsのシステム情報取得ライブラリsysteminformationで、Windows環境のservices()に細工したサービス名を渡すとPowerShellコマンドが実行され得るHIGH脆弱性が確認された。影響は呼び出し元が信頼できない入力を渡す構成に依存し、修正版5.33.16が公開されている。
30秒でわかる / THE SIGNAL
Node.jsのシステム情報取得ライブラリsysteminformationで、Windows環境のservices()に細工したサービス名を渡すとPowerShellコマンドが実行され得るHIGH脆弱性が確認された。影響は呼び出し元が信頼できない入力を渡す構成に依存し、修正版5.33.16が公開されている。
Unicode引用符を使ったPowerShellへのコマンド注入
開発元のGHSA-3f7j-7jwc-fxfjによると、systeminformationのWindows向けservices()処理は、サービス名をPowerShellコマンドに組み込む際に一部のUnicode引用符を適切に除去できなかった。勧告の検証では5.33.15でコマンド実行が再現され、実行権限はNode.jsプロセスのアカウントに依存する。これはWindows上の該当APIへ攻撃者が制御できる文字列が渡る場合の問題であり、パッケージ単体に公開HTTPエンドポイントが存在することや、無条件の遠隔侵入を意味しない。
33.16への更新と入力経路の監査
開発元の勧告は影響バージョンを5.33.16未満、修正版を5.33.16と記載している。ただし再現試験の対象は5.33.15で、他の旧版すべてを個別に実証したわけではないと明記されている。Windowsでservices()を利用するアプリケーションは依存関係を更新し、利用者入力やAPIパラメータをそのままサービス名に渡していないか確認する。重大度はHIGH、CVSS 7.8で、CVSSの攻撃経路はLocalと評価されている。