| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- MFT
- CTF-d
- Openstack
- InsecureBank
- beebox
- Docker
- 안드로이드
- base64
- diva
- vulnhub
- frida
- imageinfo
- ESXi
- Volatility
- XSS
- kibana
- 인시큐어뱅크
- otter
- igoat
- dreamhack
- Strings
- elasticsearch
- Suninatas
- 2018
- binwalk
- foremost
- lord of sql injection
- filescan
- SQL Injection
- ctf
- Today
- Total
Information Security
MongoBleed (CVE-2025-14847) 본문

개요
CVE-2025-14847, 일명 MongoBleed는 MongoDB Server에서 발견된 치명적인 정보 노출 취약점으로, 외부 공격자가 인증 절차를 거치지 않고도 원격에서 서버 메모리의 일부를 유출할 수 있다는 점에서 매우 높은 위험도를 가집니다.
이 취약점은 MongoDB가 클라이언트와 통신할 때 사용하는 네트워크 메시지 압축 기능(zlib)의 처리 과정에서 발생합니다. MongoDB는 네트워크 성능을 향상시키기 위해 압축된 메시지를 수신하고 이를 해제(decompression)하는데, 이 과정에서 특정 조건 하에 메모리 초기화가 제대로 이루어지지 않는 결함이 존재합니다. 공격자는 이러한 결함을 악용하여 의도적으로 조작된 압축 요청을 서버로 전송할 수 있습니다.
* zlib 압축 통신 과정에서 헤더 길이 값 불일치를 정상적으로 검증·처리하지 못해, 인증 없이 미초기화된 힙 메모리 일부가 응답으로 노출될 수 있습니다.
그 결과, 정상적으로는 외부에 노출되어서는 안 되는 초기화되지 않은 서버 메모리 영역의 내용이 응답 데이터에 포함되어 유출될 수 있습니다. 이 메모리 영역에는 MongoDB 서버가 처리 중이던 민감한 내부 정보가 잔존해 있을 수 있으며, 구체적으로는 데이터베이스 접근 자격 증명, 내부 설정 값, 세션 정보, 암호화 키, 기타 보안 관련 데이터 등이 포함될 가능성이 있습니다.
특히 이 취약점의 심각성은 인증이 전혀 필요하지 않다는 점에 있습니다. 즉, MongoDB 서버가 인터넷에 노출되어 있거나 방화벽·접근 제어 설정이 미흡한 경우, 익명의 공격자도 손쉽게 공격을 시도할 수 있으며, 내부 시스템 정보가 반복적으로 유출될 위험이 존재합니다. 이는 단순 정보 노출에 그치지 않고, 추가적인 침해 공격(권한 상승, 데이터 탈취, 내부망 이동 공격 등)으로 이어질 수 있는 발판이 될 수 있습니다.
| 취약점 영향 버전 | 패치 버전 |
| 8.2.0 ~ 8.2.2 | 8.2.3 |
| 8.0.0 ~ 8.0.16 | 8.0.17 |
| 7.0.0 ~ 7.0.27 | 7.0.28 |
| 6.0.0 ~ 6.0.26 | 6.0.27 |
| 5.0.0 ~ 5.0.31 | 5.0.32 |
| 4.4.0 ~ 4.4.29 | 4.4.30 |
해킹 공격
https://github.com/joe-desimone/mongobleed
GitHub - joe-desimone/mongobleed
Contribute to joe-desimone/mongobleed development by creating an account on GitHub.
github.com
칼리리눅스에 해당 파일을 다운로드 합니다.

docker-compose 파일을 보면 mongobleed 취약한 버전에 해당되는 8.2.2라는 것을 알 수 있습니다.

칼리리눅스에 docker를 설치합니다.

docker 컨테이너를 실행시킨 후 mongobleed 경로에서 docker-compose 파일에 정의된 컨테이너를 설치합니다.

docker ps 명령어로 도커에서 MongoDB 프로세스가 구동되는 것을 알 수 있습니다.

docker exec 명령어를 통해 mongoDB가 실행되는 컨테이너로 이동하여 docker-compose 파일에 있는 로그인 정보 및 포트 번호로 접속합니다.

MongoDB에 admin 계정으로 로그인하여 databases, tables 확인할 수 있습니다.

MongoDB의 암호화 key 값을 확인할 수 있습니다.

MongoDB의 API key 값을 확인 할 수 있습니다.

mongobleed PoC 코드를 사용하여 힙 메모리 기준으로 메모리 유출 범위를 100 ~ 20000 범위까지 지정하여 공격 수행

leaked.bin 파일에 저장된 내용을 확인할 수 있습니다.

MongoDB 서버 상태 계열 문자열 및 캐시 / 세션 / 메모리 통계 정보라는 것을 알 수 있습니다.

MongoDB가 Docker 컨테이너로 실행 중인 것을 알 수 있고 overlay2 스토리지 경로 및 컨테이너 파일 시스템 구조가 노출되는 것을 알 수 있습니다.

MongoDB 실제 데이터 저장 경로가 노출되는 것을 알 수 있습니다.

MongoDB 초기 계정 및 DB 생성 스크립트 파일이 노출되는 것을 알 수 있습니다.

공격 영상
'CVE 취약점' 카테고리의 다른 글
| React2Shell (CVE-2025-55182) (0) | 2025.12.12 |
|---|---|
| Fortinet FortiWeb SQL 인젝션 취약점 (CVE-2025-25257) (0) | 2025.10.04 |
| Struts2 File Upload 취약점(CVE-2024-53677) (1) | 2025.01.17 |
| Dirty Pipe (CVE-2022-0847) (0) | 2023.12.12 |
| GitLab 임의 파일 읽기 취약점 (CVE-2023-2825) (0) | 2023.08.12 |
