つみかさね

CVE-2021-28860

Critical(9.1)

node-mixmeのプロトタイプ汚染 CVE-2021-28860:影響範囲と対応方法

公開日: 2026-07-06データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
node-mixmeadaltas< 0.5.1

対応ガイド

high|対応必須セキュリティ修正影響: 広範

推奨アクション

  1. 1`npm ls node-mixme` で使用中のバージョンを確認する
  2. 20.5.1未満であれば `npm install node-mixme@latest` でアップデートする
  3. 3直接依存でなく推移的依存の場合、`npm update node-mixme` を試みるか、依存先ライブラリの更新を検討する
  4. 4アップデート後に `npm ls node-mixme` で再確認する

影響対象

node-mixme 0.5.1未満を使用しているNode.jsプロジェクト

補足

  • -Monorepo環境では各ワークスペースで個別に確認が必要な場合があります
  • -package-lock.json に旧バージョンが固定されている場合は `npm install` を再実行してください
CVENode.jsnpmprototype-pollutionnode-mixme

30秒で判断

対応すべき人

  • npm で node-mixme を直接インストールしているプロジェクト
  • node-mixme を依存関係に含むライブラリを使用しているNode.jsプロジェクト(npm ls node-mixme で確認)

対応不要な人

  • node-mixme を使用していない
  • バージョン 0.5.1 以降を既に使用している
  • ブラウザ専用環境で、外部からの任意オブジェクト注入経路がない

確認コマンド

# node-mixme のバージョン確認
npm ls node-mixme

# グローバルにインストールされているか確認
npm ls -g node-mixme

# package-lock.json から依存関係を確認
grep -r "node-mixme" package-lock.json | head -5

概要

CVE-2021-28860 は、Node.js の npm パッケージ node-mixme(v0.5.1未満)に存在するプロトタイプ汚染(Prototype Pollution)脆弱性です。

mutate() および merge() 関数が __proto__ キーを適切にフィルタリングしないため、攻撃者が制御した入力オブジェクトを通じてJavaScriptの Object.prototype を改ざんできます。汚染されたプロパティはプログラム内のすべてのオブジェクトに伝播するため、ロジックの変更やサービス拒否(DoS)が発生する可能性があります。

特に外部からの入力(APIリクエスト、ファイル読み込みなど)を mutate()merge() に渡している場合は影響が大きくなります。


CVSSベクトル

項目説明
Attack VectorNetworkネットワーク経由で攻撃可能
Attack ComplexityLow特別な条件不要
Privileges RequiredNone認証不要
User InteractionNoneユーザー操作不要
ScopeUnchanged-
ConfidentialityNone機密性への直接影響なし
IntegrityHigh完全性への影響: 高(プロパティ改ざん)
AvailabilityHigh可用性への影響: 高(DoS)

CVSS 3.x スコア: 9.1 (Critical)


影響を受けるソフトウェア

製品エコシステム影響バージョン
node-mixmenpm< 0.5.1

修正バージョンと回避策

推奨対応: npm update node-mixme または npm install node-mixme@latest で 0.5.1 以降に更新してください。

# アップデート実行
npm install node-mixme@latest

# 更新後のバージョン確認
npm ls node-mixme

回避策(アップデートが困難な場合):

  • mutate()merge() に渡すオブジェクトから __proto__constructor キーを事前にサニタイズする
  • 外部入力をそのまま node-mixme の関数に渡さない

関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。