
Desc "CVE-2026-8053 チェッカー"-20260518-16h30-GMT+7
| 属性 | 値 |
|---|---|
| CVE ID | CVE-2026-8053 |
| 技術名 | FlatBSON Duplicate Field Index Drift |
| 脆弱性タイプ | CWE-787 — 領域外書き込み (Out-of-bounds Write) |
| CVSS v4.0 | 8.7 (HIGH) |
| CVSS v3.1 | 8.8 (HIGH) |
| EPSS | 0.064% (20th パーセンタイル — 悪用の可能性は低い) |
| KEV (既知の悪用) | 記録なし |
| 発見日 | MongoDB 内部 |
| 公開日 | 12/05/2026 |
| 予約日 | 06/05/2026 |
| NVD ステータス | PUBLISHED / Awaiting Analysis |
この脆弱性は MongoDB Server の time-series collection システム に存在します。具体的には、以下の原因で発生します。
time-series bucket catalog 内の フィールド名 (field name) と インデックス (index) の間のマッピング機構における不整合 (inconsistency)。
このマッピング機構がずれる(ドリフト)と、書き込み操作によって mongod プロセス内でバッファ外メモリへの書き込み (out-of-bounds write) が発生する可能性があります。特定の条件下では、これは任意のコード実行 (Remote Code Execution) にエスカレーションする可能性があります。
| 条件 | 説明 |
|---|---|
| 認証 | 必須 — 攻撃者は有効な MongoDB アカウントを持っている必要があります |
| 権限 | データベースへの書き込み権限 (write privilege) が必要 |
| ユーザー操作 | 不要 |
| ネットワーク | ネットワーク経由でリモートから悪用可能 |
| 複雑さ | 低い (attack complexity: LOW) |
| MongoDB ブランチ | 影響を受けるバージョン | 修正済みバージョン |
|---|---|---|
| 5.0 | < 5.0.33 | ≥ 5.0.33 |
| 6.0 | < 6.0.28 | ≥ 6.0.28 |
| 7.0 | < 7.0.34 | ≥ 7.0.34 |
| 8.0 | < 8.0.23 | ≥ 8.0.23 |
| 8.2 | < 8.2.9 | ≥ 8.2.9 |
| 8.3 | < 8.3.2 | ≥ 8.3.2 |
注記: 5.0 より古いバージョン(4.x、3.x)はサポート終了(EOL)です。これらのバージョンを実行している場合は、サポート対象のブランチへの緊急アップグレードが必要です。
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
| コンポーネント | 値 | 意味 |
|------------|---------|---------|
| AV (Attack Vector) | **Network (N)** | ネットワーク経由のリモート攻撃 |
| AC (Attack Complexity) | **Low (L)** | 特別な条件は不要 |
| AT (Attack Requirements) | **None (N)** | 前提条件は不要 |
| PR (Privileges Required) | **Low (L)** | 書き込み権限のあるユーザーのみで十分 |
| UI (User Interaction) | **None (N)** | 被害者の操作は不要 |
| VC/VI/VA (Vulnerable System) | **High / High / High** | CIAトライアド全体が影響を受ける |
| SC/SI/SA (Subsequent System) | **None** | 他のシステムへの影響なし |
---
## 修復ガイド
### 1. 主な対策: MongoDB Server のアップグレード
これは**唯一かつ完全な**対策です。MongoDB Server を対応する修正済みバージョンにアップグレードしてください:```bash
# Kiểm tra phiên bản hiện tại
mongod --version
# Debian/Ubuntu — nâng cấp qua APT
sudo apt update
sudo apt install -y mongodb-org=<phiên-bản-đã-vá>
# RHEL/CentOS/Rocky — nâng cấp qua YUM/DNF
sudo yum update mongodb-org-<phiên-bản-đã-vá>
# Docker — pull image mới
docker pull mongo:<phiên-bản-đã-vá>
Phiên bản vá cụ thể cho từng nhánh: → 各ブランチの具体的なパッチバージョン:
| Nhánh | Lệnh nâng cấp mẫu (APT) |
|---|---|
| 5.0 | sudo apt install -y mongodb-org=5.0.33 |
| 6.0 | sudo apt install -y mongodb-org=6.0.28 |
| 7.0 | sudo apt install -y mongodb-org=7.0.34 |
| 8.0 | sudo apt install -y mongodb-org=8.0.23 |
| 8.2 | sudo apt install -y mongodb-org=8.2.9 |
| 8.3 | sudo apt install -y mongodb-org=8.3.2 |
authorization: enabled を使用して mongod.conf 内で構成されていることを確認してください: ```yaml
security:
authorization: enabled
mongod --version
sudo systemctl status mongod
mongosh --eval "db.version()"
sudo bash CVE-2026-8053-MongoDB-Fixed.sh
---
## スキャンツール: `CVE-2026-8053-MongoDB-Fixed.sh`
MongoDB Server が CVE-2026-8053 の影響を受けるかどうかを自動的にスキャンおよび評価する Bash スクリプトです。このスクリプトは **本番環境** で安全に実行できるように設計されています — すべての操作は **読み取り専用** モードであり、MongoDB へデータを書き込むことは一切ありません。
### 主な機能
| 機能 | 説明 |
|-----------|-------|
| インストール検出 | `mongod` とシェル (`mongosh`/`mongo`) のパスを自動検出 |
| バージョン比較 | インストール済みバージョンを影響を受けるリスト (6 ブランチ) と照合 |
| EOL 検出 | MongoDB がサポート終了ブランチ (4.4 以下) の場合に警告 |
| time-series スキャン | クラスター全体のすべての time-series collections を一覧表示 |
| 権限チェック | 書き込み権限を持つユーザーを一覧表示 — 脆弱性を悪用される可能性のある対象 |
| セキュリティチェック | `authorization`、`bindIp`、`TLS/SSL` の構成を評価 |
| レプリカセット対応 | 接続文字列 `mongodb://host:port/?replicaSet=name` で接続 |
| 多彩な出力 | 通常モード (色付き)、quiet (終了コード)、JSON (CI/CD) |
| 完全に安全 | **書き込み操作ゼロ** — すべての MongoDB コマンドは読み取り専用 |
### システム要件
| 要件 | 詳細 |
|----------|----------|
| OS | Linux (Ubuntu、Debian、RHEL、CentOS、Rocky、Alma など) |
| Bash | ≥ 4.0 (連想配列対応) |
| MongoDB Shell | `mongosh` (推奨) または `mongo` (レガシー) |
| OS 権限 | `sudo` / `root` (設定ファイル `/etc/mongod.conf` を読むため) |
| MongoDB 権限 | `system.users` の読み取りと `listDatabases` の実行権限を持つユーザー |
### コマンドラインオプション (CLI Options)
| 短いオプション | 長いオプション | 引数 | デフォルト | 説明 |
|-------------|------------|---------|----------|-------|
| `-h` | `--help` | — | — | ヘルプを表示して終了 |
| `-q` | `--quiet` | — | `false` | 主要な結果のみ出力し、終了コードで状態を判定 |
| `-j` | `--json` | — | `false` | 結果を JSON 形式で出力 (CI/CD パイプライン向け) |
| `-H` | `--host` | `HOST` | `localhost` | MongoDB サーバーのアドレス |
| `-P` | `--port` | `PORT` | `27017` | MongoDB のポート |
| `-u` | `--user` | `USER` | `super_admin` | MongoDB のログインユーザー名 |
| `-p` | `--pass` | `PASS` | *(内部デフォルト値)* | MongoDB のパスワード |
| `-r` | `--replica-set` | `NAME` | `rs_cams` | レプリカセット名 (存在する場合) |
| — | `--auth-db` | `DB` | `admin` | 認証データベース |
| — | `--no-color` | — | `false` | 出力の ANSI カラーを無効化 |
### 6 ステップのスキャン手順
スクリプトは 6 つのステップを順番に実行します。各ステップには `[INFO]` / `[OK]` / `[WARN]` / `[ERROR]` のステータスログがあります。```
Bước 1: Phát hiện MongoDB installation
├─ Tìm mongod trong $PATH
├─ Duyệt các thư mục phổ biến:
│ /usr/bin, /usr/local/bin, /opt/mongodb/bin, /usr/lib/mongodb, /snap/bin
└─ Thất bại → exit 0 (không cài đặt = không bị ảnh hưởng)
Bước 2: Lấy phiên bản MongoDB
├─ Chạy: mongod --version
├─ Parse output: "db version v6.0.15" → "6.0.15"
└─ Thất bại → exit 2 (lỗi không xác định)
Bước 3: So sánh phiên bản với danh sách bị ảnh hưởng
├─ Tách major.minor.patch bằng regex
├─ Kiểm tra EOL (4.4, 4.2, 4.0, 3.6, ...)
├─ Đối chiếu với bảng PATCHED_VERSIONS:
│ ┌────────────┬──────────────┬────────┐
│ │ Nhánh │ Ngưỡng vá │ Ví dụ │
│ ├────────────┼──────────────┼────────┤
│ │ 5.0 │ patch ≥ 33 │ 5.0.33 │
│ │ 6.0 │ patch ≥ 28 │ 6.0.28 │
│ │ 7.0 │ patch ≥ 34 │ 7.0.34 │
│ │ 8.0 │ patch ≥ 23 │ 8.0.23 │
│ │ 8.2 │ patch ≥ 9 │ 8.2.9 │
│ │ 8.3 │ patch ≥ 2 │ 8.3.2 │
│ └────────────┴──────────────┴────────┘
├─ Nhánh ≥ 8.4 → mặc định AN TOÀN
└─ Kết quả: SAFE | VULNERABLE | EOL | UNKNOWN
Bước 4: Kiểm tra trạng thái mongod
├─ pgrep -x mongod
├─ systemctl is-active mongod
├─ ss / netstat kiểm tra port đang listen
└─ Kết quả: đang chạy / không chạy