最近の脆弱性 › CVE-2021-21315
Npm package System Information Library for Node.JS のコマンドインジェクションの脆弱性(CVE-2021-21315)
この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。
基本情報(データから表示)
| CVE番号 | CVE-2021-21315 |
|---|---|
| 製品 | Npm package System Information Library for Node.JS |
| 深刻度(CVSS) | 7.8 重要CVSS v3.1 NVD による評価 詳細(ベクター)CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| KEVへの追加日 | 2022-01-18 |
| 米国政府機関の対応期限 | 2022-02-01 |
| ランサムウェアでの悪用 | 不明(確認されていない) |
| 弱点の種類(CWE) | CWE-78 |
何が起きた
Node.js 用の npm パッケージ systeminformation で、si.inetLatency()、si.inetChecksite()、si.services()、si.processLoad() などの関数に渡す値の確認が不十分なため、OS のコマンドを実行させられる弱点(コマンドインジェクション)が見つかりました。CISA によると、この弱点は実際の攻撃に悪用されています。NVD の評価では、対象の機器上(ローカル)で、一般利用者程度の権限を持つ攻撃者が悪用できます。
攻撃の流れ
データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。
誰が影響を受ける
systeminformation を組み込んだアプリを作っている開発者や、そのアプリを使っている組織が対象です。5.3.1 より前のバージョンが影響を受けます。
何をすればいい
開発元の公式の案内を確認し、systeminformation を 5.3.1 以降に更新してください。すぐに更新できない場合、開発元は、si.inetLatency()、si.inetChecksite()、si.services()、si.processLoad() などに渡す値を確認・無害化し、文字列だけを受け付けて配列は拒否するよう案内しています。
やることチェックリスト
- systeminformation のバージョンを確かめる
- systeminformation を 5.3.1 以降に更新する
- 関数に渡す値は文字列だけを受け付ける
用語メモ
- npm パッケージ
- Node.js のプログラムで使える部品を、npm というしくみで配布したものです。
- コマンドインジェクション
- 入力に OS への命令を紛れ込ませて、プログラムに実行させてしまう攻撃です。
- 無害化
- 入力から危険な文字や形を取り除き、安全な形にしてから使うことです。
元データ(英語・CISA KEV より)
System Information Library for Node.JS Command Injection
概要
In this vulnerability, an attacker can send a malicious payload that will exploit the name parameter. After successful exploitation, attackers can execute remote.
推奨対応
Apply updates per vendor instructions.