
世界的に最も利用されているNoSQLデータベースプラットフォームの一つであるMongoDBで、重大な脆弱性が特定されました。
このセキュリティ上の欠陥はCVE-2025-14847として追跡されており、攻撃者がログインする必要なく、サーバーのメモリから機密データを抽出できる可能性があります。
この脆弱性の影響範囲は非常に大きく、近年のMongoDB Serverのサポート対象(およびサポート対象外)のほぼすべてのバージョンに影響します。アドバイザリには影響として、最新の8.2系から3.6までが列挙されています。
この問題は以下に挙げるバージョンに該当します:
- 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 v4.2の全バージョン
- MongoDB Server v4.0の全バージョン
- MongoDB Server v3.6の全バージョン
この弱点は、MongoDBサーバーによるデータ圧縮の扱い、とりわけzlibライブラリの実装に関連しています。アドバイザリによれば、サーバーのzlib実装に対するクライアント側のエクスプロイトにより、初期化されていないヒープメモリが解放される可能性があります。
CVSSv4スコア8.7のこの脆弱性は「高深刻度」に分類され、特に認証なしで悪用できるため、未更新の環境にとって相当なリスクとなります。
サイバーセキュリティの観点では、このバグはしばしば「メモリリーク」または「情報漏えい」と呼ばれます。細工したリクエストを送ることで、悪意あるクライアントがサーバーを欺き、内部メモリ(ヒープ)からのデータブロックを返させることが可能になります。
基本的に、報告書はこれが「サーバーに認証せずに」達成できることを強調しています。つまり攻撃者はユーザー名やパスワードを必要とせず、データベースのポートへネットワークアクセスできれば、サーバーのRAMに常駐する機密データの断片(最近のクエリから、キャッシュされた認証情報まで、あらゆるものを含み得る)を収集できる可能性があります。
メンテナは、当該バグを修正した以下のバージョンをリリースしました:
- 8.2.3
- 8.0.17
- 7.0.28
- 6.0.27
- 5.0.32
- 4.4.30
直ちに更新するためにデータベースを停止できないチーム向けに、一時的な回避策も存在します。可能な選択肢の一つは、アドバイザリが示すとおりzlib圧縮を完全に無効化することで、例えばmongodまたはmongosを起動する際に、net.compression.compressorsオプションでzlibを明示的に除外します。
圧縮の安全な代替としては「snappy」や「zstd」が挙げられます。別の選択肢として、パッチを適用できるまで圧縮を無効にした状態でプロセスを実行することも考えられます。