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
CVE-2021-21315について、以下の観点で解説します。
1. 脆弱性の概要
CVE-2021-21315は、Node.js用のオープンソースライブラリである
systeminformationnpmパッケージにおけるコマンドインジェクションの脆弱性です。 この脆弱性は、ハードウェア、システム、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 影響を受ける設定
systeminformationnpm パッケージのバージョン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 本対策
systeminformationnpm パッケージをバージョン5.3.1以降にアップグレードしてください。4.2 暫定回避策(緩和策)
即時のアップグレードが不可能な場合、以下の回避策を適用してください。 *
si.inetLatency()、si.inetChecksite()、si.services()、si.processLoad()などの影響を受ける関数に渡されるサービスパラメータをチェックし、サニタイズしてください。 * 文字列入力のみを許可し、配列は拒否するようにしてください。 * 徹底した文字列サニタイズを実装することで、脆弱性の悪用を防ぐことができます。 * 信頼できない入力にさらされた脆弱なバージョンを実行していたNode.jsプロセスからアクセス可能な資格情報やシークレットをローテーションしてください。参照したサイト