概要
Feathers.js の Socket.IO トランスポート に NoSQL インジェクション の 脆弱性 が 存在 します。Socket.IO クライアント から サービス メソッド の id 引数 に 任意 の JavaScript オブジェクト を 送信 できる ため、MongoDB アダプタ を 使用 して いる 環境 で NoSQL オペレータ インジェクション が 成立 します。
CWE-943(NoSQL インジェクション)に 分類 される この 脆弱性 に より、攻撃者 は {$ne: null} の よう な MongoDB オペレータ を id パラメータ として 注入 する こと で、全 ドキュメント に マッチ させる クエリ を 発行 できます。これ に より、権限 の ない データ の 読み取り、更新、削除 が 可能 と なります。
Feathers.js で MongoDB を バックエンド と して 使用 して いる アプリケーション は、直ちに 修正 バージョン へ の アップデート が 必要 です。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 9.8 |
| 深刻度 | Critical |
| CWE | CWE-943 (NoSQLインジェクション) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Feathers.js | Feathersjs | 5.0.0 〜 5.0.42 未満 |
修正バージョンと回避策
- 修正バージョン: Feathers.js 5.0.42 へ アップデート して ください
- 暫定回避策: サービス メソッド の
idパラメータ に 対して 型検証(文字列 または 数値 のみ 許可)を カスタム フック で 実装 する。MongoDB の クエリ サニタイゼーション を 追加 する - 確認方法:
npm ls @feathersjs/feathersで 現在 の バージョン を 確認 して ください
関連リンク
データソース: NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
