Trusted Design

CVE-2021-21315 の詳細

CVEの情報

説明:
The System Information Library for Node.JS (npm package "systeminformation") is an open source collection of functions to retrieve detailed hardware, system and OS information. In systeminformation before version 5.3.1 there is a command injection vulnerability. Problem was fixed in version 5.3.1. As a workaround instead of upgrading, be sure to check or sanitize service parameters that are passed to si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... do only allow strings, reject any arrays. String sanitation works as expected.

CVE更新日: 2021-02-16 17:15:13.050000

CVSSバージョン: 3.1

CVSSスコア: 7.1

KEVの情報

KEV更新日: 2022-01-18

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.906750000

EPSS更新日: 2026-10-16 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: False

AIを使った解説

解説:

CVE-2021-21315について、以下の観点で解説します。

1. 脆弱性の概要

CVE-2021-21315は、Node.js用のオープンソースライブラリであるsysteminformation npmパッケージにおけるコマンドインジェクションの脆弱性です。 この脆弱性は、ハードウェア、システム、OS情報を取得するために使用されるsysteminformationライブラリのバージョン5.3.1より前で発生します。 si.inetLatency()、si.inetChecksite()、si.services()、si.processLoad()などの関数に渡されるパラメータが適切に検証されないことが原因です。 攻撃者は、文字列のサニタイズを回避する配列ベースの入力によってシェルコマンドを注入することが可能です。

この脆弱性は、CWE-78 (OS Command Injection) に分類されます。

1.1 影響

この脆弱性により、コマンドインジェクションが可能となり、結果として影響を受けるシステム上で任意のコード実行 (RCE) につながる可能性があります。 攻撃者は、ローカルの認証された権限で、ユーザー操作なしにNode.jsプロセスの特権で任意のOSコマンドを実行でき、機密性、完全性、可用性の完全な侵害につながる可能性があります。 具体的には、内部ファイルのアップロード、スクリプトのダウンロードと実行、リバースシェルの接続、プロセスの終了など、様々な悪意のある操作を実行できる可能性があります。

1.2 深刻度

CVSS v3.1スコアは7.8 (High) と評価されています。 CVSSベクトルは CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H です。 Tenable社は、アクセスベクトルがネットワークであると判断し、CVSS 3.0スコアを8.8 (High) と評価しています (CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)。 EPSS (Exploit Prediction Scoring System) スコアは93.96%(2026年5月16日時点)で、悪用される可能性が非常に高いことを示しています。 (別の情報源では90.7%) この脆弱性は、CISA (Cybersecurity and Infrastructure Security Agency) のKnown Exploited Vulnerabilities (KEV) カタログに追加されており、実際に悪用されていることが確認されています。

2. 対象となる環境

2.1 影響を受けるOSバージョン

特定のOSバージョンに限定されず、Node.jsが動作するあらゆるOS環境(Linuxなど)が影響を受ける可能性があります。検索結果からは特定のOSバージョンの言及はありません。

2.2 影響を受ける設定

  • systeminformation npm パッケージのバージョン5.3.1より前のバージョンを使用しているNode.jsプロジェクト。
  • 特に、si.inetLatency()、si.inetChecksite()、si.services()、si.processLoad()などの関数に、外部から制御された入力が渡される設定が影響を受けます。

影響を受ける製品 * systeminformation npm パッケージ: バージョン5.3.1より前 * Apache Cordova 10.0.0: systeminformationライブラリのダウンストリームコンシューマとして影響を受けます。 * NetApp製品: 脆弱なバージョンのライブラリをバンドルしているものも影響を受けます。

3. 影響を受けた時の兆候

検索結果において、CVE-2021-21315に直接関連する具体的な「影響を受けた時の兆候 (Indicators of Compromise)」は明示されていません。

4. 推奨対策

4.1 本対策

systeminformation npm パッケージをバージョン5.3.1以降にアップグレードしてください。

4.2 暫定回避策(緩和策)

即時のアップグレードが不可能な場合、以下の回避策を適用してください。 * si.inetLatency()、si.inetChecksite()、si.services()、si.processLoad()などの影響を受ける関数に渡されるサービスパラメータをチェックし、サニタイズしてください。 * 文字列入力のみを許可し、配列は拒否するようにしてください。 * 徹底した文字列サニタイズを実装することで、脆弱性の悪用を防ぐことができます。 * 信頼できない入力にさらされた脆弱なバージョンを実行していたNode.jsプロセスからアクセス可能な資格情報やシークレットをローテーションしてください。

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る