MongoDBで、リモート攻撃者がいかなる認証もなしに未初期化のサーバーメモリへアクセスできる重大な脆弱性が発見されました。識別子CVE-2025-14847が割り当てられており、CVSSスコアは8.7で、高深刻度カテゴリに分類されます。
この問題は、データ長パラメータの不適切な取り扱いに起因します。特定の条件下で、サーバーはメッセージヘッダーで指定された長さの値と、実際に送信されたデータのサイズを誤って関連付けてしまいます。具体的には、Zlib圧縮が有効な場合のデータ交換プロトコルに影響し、圧縮ヘッダー内の長さフィールドが実際のコンテンツサイズと一致しないと、MongoDBが一度も初期化されていないメモリの一部を返してしまう可能性があります。
要するに、細工されたリクエストにより、認証プロセスを経ることなくサーバーのRAMの断片を読み取ることができます。漏えいしたデータには、内部プロセス状態、ポインタ、補助構造体、その他の機密情報が含まれる可能性があり、その後の攻撃を大幅に容易にし得ます。
この脆弱性は、広範なMongoDB Serverバージョンに影響します:
• 8.2系:8.2.0〜8.2.3
• 8.0系:8.0.0〜8.0.16
• 7.0系:7.0.0〜7.0.26
• 6.0系:6.0.0〜6.0.26
• 5.0系:5.0.0〜5.0.31
• 4.4系:4.4.0〜4.4.29
• 4.2、4.0、3.6系列のすべてのMongoDB Serverリリース
開発者はすでに、この問題を完全に修正する更新版をリリースしています。修正版には、8.2.3、8.0.17、7.0.28、6.0.27、5.0.32、4.4.30が含まれます。MongoDBは、悪用が完全にクライアント側から可能で、資格情報を必要としないことを強調しており、迅速なパッチ適用を強く推奨しています。
直ちにアップグレードできない場合、開発者は一時的な緩和策として、サーバー側でZlib圧縮を無効化することを提案しています。これは、mongodまたはmongosの起動時に、networkMessageCompressorsまたはnet.compression.compressors設定からZlibを明示的に除外することで実施できます。SnappyやZstandard(zstd)などの代替圧縮アルゴリズムは引き続きサポートされており、この脆弱性の影響を受けません。
OP Innovateチームによると、この欠陥は、リモート攻撃者がMongoDBサーバーのヒープメモリ内容を返す条件を誘発できるようにします。漏えいがユーザーデータを直接露出しない場合でも、この種の情報は、より高度な悪用への障壁を大きく下げ、その後の攻撃の信頼性を高める可能性があります。
翻訳元: https://meterpreter.org/mongobleed-alert-critical-flaw-leaking-your-database-secrets/