PR

MongoDB RCE脆弱性CVE-2025-14847、至急パッチ適用を

Security

Source:https://www.bleepingcomputer.com/news/security/mongodb-warns-admins-to-patch-severe-rce-flaw-immediately/

🛡 概要

MongoDBに深刻なリモートコード実行(RCE)の恐れがある脆弱性CVE-2025-14847が公表され、管理者は直ちにパッチ適用が求められています。本件は未認証・低複雑度で悪用可能で、一部構成ではサーバ制御の奪取に至るリスクがあります。影響はMongoDB 8.2/8.0/7.0/6.0/5.0/4.4の広範囲、さらにServer 4.2/4.0/3.6全系統に及びます。修正済みは次の通りです:8.2.3、8.0.17、7.0.28、6.0.27、5.0.32、4.4.30。短期回避策としてzlib圧縮の無効化が推奨されています。CVSSスコアは公表情報を確認できていませんが、ベンダーは高深刻度として注意喚起しています。

🔍 技術詳細

本脆弱性は、MongoDBサーバのネットワークメッセージ圧縮処理(zlib)に起因する長さパラメータの不整合/検証不備に関連し、入出力バッファ境界の取り扱いが不適切な条件で発生する問題です。MongoDBは接続初期化時のハンドシェイクでサポート圧縮方式(例:zlib等)を交渉しますが、この段階は認証前で行われるため、外部から到達可能なサーバでは未認証の攻撃者が圧縮済みの異常メッセージを送信しうる設計面の露出があります。ベンダーの説明では、サーバのzlib実装が未初期化ヒープメモリを返してしまう状況があるとされ、機微情報の露出や、実装・ヒープ状態によってはヒープの形状操作(heap grooming)を足掛かりに任意コード実行へ発展する可能性があります。いずれもユーザー操作は不要で、攻撃は単一のTCPセッション(既定は27017/TCP)に対する精巧な圧縮データの投下で成立し得ます。加えて、圧縮機構はmongodだけでなくmongos(シャードルータ)でも経路上に存在しうるため、公開構成では面の広さにも留意が必要です。修正は圧縮処理の長さ検証やメモリ初期化等の堅牢化が中心とみられ、影響バージョンは以下の通りです。

  • MongoDB 8.2.0〜8.2.3
  • MongoDB 8.0.0〜8.0.16
  • MongoDB 7.0.0〜7.0.26
  • MongoDB 6.0.0〜6.0.26
  • MongoDB 5.0.0〜5.0.31
  • MongoDB 4.4.0〜4.4.29
  • MongoDB Server 4.2 全バージョン
  • MongoDB Server 4.0 全バージョン
  • MongoDB Server 3.6 全バージョン

推奨アップグレード先(修正版):8.2.3、8.0.17、7.0.28、6.0.27、5.0.32、4.4.30。即時アップグレードが困難な場合は、zlib圧縮を明示的に無効化してください(例:networkMessageCompressorsからzlibを除外、あるいはnet.compression.compressorsでzlibを含めない)。

⚠ 影響

  • 機密性:未初期化メモリの露出により資格情報断片、クエリアクセスパターン等が漏えいする恐れ
  • 完全性:RCEに発展した場合、データ改ざん・スキーマ変更・ユーザ権限の不正付与
  • 可用性:プロセスクラッシュ、再起動ループ、リソース枯渇、暗号化被害(ランサム)

🛠 対策

  1. 直ちにパッチ適用:8.2.3/8.0.17/7.0.28/6.0.27/5.0.32/4.4.30へ更新(mongod/mongos双方)。
  2. 一時緩和:zlibを無効化。起動時オプションでnetworkMessageCompressorsからzlibを除外(例:「snappy,zstd」など)。設定変更後はクライアント互換性を確認。
  3. 露出低減:外部公開を最小化、到達元をIP許可制に。TLS有効化、認証・RBACの徹底、bindIpの制限。
  4. 監視強化:mongod/audit/systemログ集中管理、異常クラッシュ・再起動・大量ハンドシェイクを検知。ネットワークレベルで圧縮交渉の急増・失敗率上昇を可視化。
  5. バックアップ:整合性検証済みバックアップと復旧手順の演習。パッチ前後でのポイントインタイム回復性を確認。
  6. 資産・バージョン棚卸し:すべてのMongoDB系(開発・検証・一時・コンテナ・クラウドマネージド)を洗い出し。

📌 SOC視点

  • 収集すべきログ:mongodログ、MongoDB監査ログ、OSクラッシュログ、コアダンプ情報、ロードバランサアクセスログ、FW/IPS/IDSログ。
  • 兆候:認証前での接続・切断の急増、圧縮交渉失敗の増加、異常終了後の自動再起動、メモリ例外によるクラッシュ、圧縮有効ノードに偏るアラート。
  • ネットワーク検知:27017/TCP宛の未知ASNからのスキャン集中、短時間で多数の初期ハンドシェイク試行、圧縮利用比率の急変。
  • 端末/EDR:mongod/mongosプロセスのクラッシュ、異常な子プロセス生成、権限昇格の痕跡、実行可能ファイルの書き換え。
  • 対応:疑わしい挙動を検知したら、該当ノードを隔離、メモリ取得、ネットワークフロー保存、後方互換のある修正版へロールアウト、zlibを無効化。

📈 MITRE ATT&CK

  • TA0001 初期アクセス / T1190 Exploit Public-Facing Application:認証前の圧縮処理を悪用し、公開DBサービスに侵入するため。
  • TA0003 永続化 / TA0004 権限昇格(状況次第):RCE成立後にサービス登録や権限拡大を試みる可能性があるため(T1068 Exploitation for Privilege Escalationの連鎖)。
  • TA0002 実行 / T1059 Command and Scripting Interpreter:コード実行に成功した攻撃者がシェルやスクリプトで操作するため。
  • TA0011 防御回避 / T1070 Indicator Removal on Host:ログ改ざん・削除で痕跡消去を図るため。
  • TA0010 収集・外部送信 / T1041 Exfiltration Over C2 Channel:DBデータの窃取を外部に送信しうるため。

🏢 組織規模別助言

  • 小規模(〜50名):公開中のMongoDB有無を即確認。該当があれば業務時間外に一括アップグレード。難しい場合はzlib無効化とIP制限で暫定防御。
  • 中規模(50〜500名):ステージングで検証後、バッチ適用のロールアウト計画を72時間以内に実施。監査ログ収集とネットワーク監視を並行強化。
  • 大規模(500名以上):資産自動発見と構成準拠のポリシー化。変更凍結期間を考慮した段階的展開、ブルー/グリーン更新、SRE連携の可観測性向上。

🔎 類似事例

  • CVE-2019-10758:CISA既知悪用カタログに掲載されたMongoDBのRCE。連邦機関に対し対策が義務化された経緯があり、公開DBに対するRCE狙いの継続的脅威を示唆。
  • 公開DBサービスを狙う大規模スキャン:認証前エンドポイントや既定ポートに対する自動化スキャンは継続観測されており、今回のような未認証処理の不備は迅速に悪用されやすい。

🧭 次の一手

  1. 自組織のMongoDBインベントリを最新化し、影響範囲とバージョンを特定。
  2. 修正版(8.2.3/8.0.17/7.0.28/6.0.27/5.0.32/4.4.30)へのアップグレード計画を即時立案・実施。
  3. アップグレードまでの暫定策として、zlib圧縮を無効化(networkMessageCompressorsからzlibを除外)。
  4. 27017/TCPのインターネット露出を可視化し、外部公開をやめるか到達元を許可リスト化。
  5. 監視ダッシュボードに「認証前接続の急増」「mongodクラッシュ」「圧縮交渉失敗率」を追加。
  6. ベンダーの公式セキュリティアドバイザリを継続確認し、CVSS等の更新情報が出次第リスク評価を更新。