Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-8053-MongoDB — 설명 "CVE-2026-8053 체커"-20260518-16h30-GMT+7 | Kitploit
도구/GitHubGitHub/mgiay/cve-2026-8053-mongodb
Vulnerability ScannersVulnerability AnalysisConfiguration AuditingCloud SecurityDevSecOpsDatabase Security
GitHubmgiay/cve-2026-8053-mongodb

CVE-2026-8053-MongoDB

설명 "CVE-2026-8053 체커"-20260518-16h30-GMT+7

저장소 보기
164개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-8053 — MongoDB Server Out-of-Bounds Write

개요

속성값
CVE IDCVE-2026-8053
기술 명칭FlatBSON Duplicate Field Index Drift
취약점 유형CWE-787 — Out-of-bounds Write
CVSS v4.08.7 (HIGH)
CVSS v3.18.8 (HIGH)
EPSS0.064% (20th percentile — 낮은 악용 확률)
KEV (Known Exploited)기록되지 않음
발견 날짜MongoDB 내부
공개 날짜12/05/2026
예약 날짜06/05/2026
NVD 상태PUBLISHED / Awaiting Analysis

상세 설명

근본 원인

취약점은 MongoDB Server의 time-series collection 시스템에 존재합니다. 구체적으로, 오류는 다음과 같은 이유로 발생합니다:

time-series bucket catalog 내부의 필드 이름 (field name) 과 인덱스 (index) 간의 매핑 메커니즘에 불일치 (inconsistency) 가 있습니다.

이 매핑 메커니즘이 잘못되면(drift), 쓰기 작업으로 인해 mongod 프로세스에서 메모리 범위를 벗어난 쓰기(out-of-bounds write) 가 발생할 수 있습니다. 특정 조건에서는 이것이 임의 코드 실행(Remote Code Execution) 으로 확대될 수 있습니다.

기술적 배경 — FlatBSON 및 Time-Series Bucket Catalog

  • FlatBSON은 MongoDB가 사용하는 내부 바이너리 직렬화 형식으로, time-series 작업에 표준 BSON보다 더 최적화되어 있습니다.
  • Time-series bucket catalog는 'bucket'들을 관리하는 데이터 구조입니다 — 각 bucket은 시간별로 그룹화된 여러 time-series 데이터 포인트를 포함합니다.
  • 이 catalog 내부에는 필드에 빠르게 접근하기 위한 매핑 테이블(field-name → index)이 유지됩니다. 이 매핑이 중복되거나 인덱스가 잘못되면 (duplicate field index drift), 후속 쓰기 작업은 할당된 메모리 범위를 벗어나 데이터를 쓸 수 있습니다.

악용 조건

조건설명
인증필요 — 공격자는 유효한 MongoDB 계정을 보유해야 함
권한데이터베이스에 대한 쓰기 권한(write privilege) 필요
사용자 상호작용필요 없음
네트워크네트워크를 통한 원격 악용 가능
복잡도낮음 (attack complexity: LOW)

영향을 받는 버전

MongoDB 브랜치영향을 받는 버전패치 적용 버전
5.0< 5.0.33≥ 5.0.33
6.0< 6.0.28≥ 6.0.28
7.0< 7.0.34≥ 7.0.34
8.0< 8.0.23≥ 8.0.23
8.2< 8.2.9≥ 8.2.9
8.3< 8.3.2≥ 8.3.2

참고: 5.0보다 오래된 버전(4.x, 3.x)은 지원 수명이 종료되었습니다(EOL). 해당 버전을 실행 중인 경우 지원되는 브랜치로 긴급 업그레이드해야 합니다.


공격 벡터 (CVSS v4.0)```

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

| 구성 요소 | 값 | 의미 |
|------------|---------|---------|
| AV (Attack Vector) | **Network (N)** | 네트워크를 통한 원격 공격 |
| AC (Attack Complexity) | **Low (L)** | 특별한 조건 불필요 |
| AT (Attack Requirements) | **None (N)** | 전제 조건 불필요 |
| PR (Privileges Required) | **Low (L)** | 쓰기 권한이 있는 사용자면 충분 |
| UI (User Interaction) | **None (N)** | 피해자 상호작용 불필요 |
| VC/VI/VA (Vulnerable System) | **High / High / High** | 전체 CIA 트라이어드가 영향받음 |
| SC/SI/SA (Subsequent System) | **None** | 다른 시스템에는 영향 없음 |

---

## 해결 방법

### 1. 주요 조치: MongoDB Server 업그레이드

이것은 **유일하고 근본적인** 조치입니다. MongoDB Server를 해당 패치 버전으로 업그레이드하세요:```bash
# Kiểm tra phiên bản hiện tại
mongod --version

# Debian/Ubuntu — nâng cấp qua APT
sudo apt update
sudo apt install -y mongodb-org=<phiên-bản-đã-vá>

# RHEL/CentOS/Rocky — nâng cấp qua YUM/DNF
sudo yum update mongodb-org-<phiên-bản-đã-vá>

# Docker — pull image mới
docker pull mongo:<phiên-bản-đã-vá>

Phiên bản vá cụ thể cho từng nhánh:

NhánhLệnh nâng cấp mẫu (APT)
5.0sudo apt install -y mongodb-org=5.0.33
6.0sudo apt install -y mongodb-org=6.0.28
7.0sudo apt install -y mongodb-org=7.0.34
8.0sudo apt install -y mongodb-org=8.0.23
8.2sudo apt install -y mongodb-org=8.2.9
8.3sudo apt install -y mongodb-org=8.3.2

2. 임시 완화 조치 (즉시 업그레이드할 수 없는 경우)

  • 쓰기 권한 제한 — 데이터베이스 사용자에 대한 불필요한 쓰기 권한을 검토하고 회수합니다. ```javascript // Kiểm tra user có quyền ghi vào time-series collections db.getUsers({ showCredentials: false });
  • 로그 모니터링 — MongoDB 로그를 추적하여 비정상 징후를 감지합니다: ```bash tail -f /var/log/mongodb/mongod.log | grep -iE "error|assert|abort|segfault"
  • 네트워크 분할 — MongoDB 포트(기본값 27017)에 대한 네트워크 액세스를 제한하고 신뢰할 수 있는 IP에서만 허용: ```bash

    Sử dụng firewall (iptables / nftables / firewalld)

    sudo ufw allow from to any port 27017
  • 인증 활성화 — mongod.conf에서 authorization: enabled로 MongoDB가 구성되었는지 확인하십시오: ```yaml security: authorization: enabled
  • 타임시리즈 컬렉션 임시 비활성화 — 타임시리즈 기능을 사용하지 않는다면, 패치가 완료될 때까지 타임시리즈 컬렉션을 비활성화하거나 생성하지 않는 것을 고려하세요.

3. 업그레이드 후 확인```bash

1. Xác nhận phiên bản mới

mongod --version

2. Kiểm tra trạng thái service

sudo systemctl status mongod

3. Kết nối và kiểm tra

mongosh --eval "db.version()"

4. Chạy script scan (đính kèm trong repo này)

sudo bash CVE-2026-8053-MongoDB-Fixed.sh

---

## 스캐너 도구: `CVE-2026-8053-MongoDB-Fixed.sh`

MongoDB Server가 CVE-2026-8053의 영향을 받는지 자동으로 스캔하고 평가하는 bash 스크립트입니다. 이 스크립트는 **프로덕션** 환경에서 안전하게 실행되도록 설계되었습니다. 모든 작업은 **읽기 전용** 모드이며 MongoDB에 어떤 데이터도 쓰지 않습니다.

### 주요 기능

| 기능 | 설명 |
|-----------|-------|
| 설치 감지 | `mongod` 및 셸(`mongosh`/`mongo`) 경로 자동 탐색 |
| 버전 비교 | 설치된 버전을 영향을 받는 버전 목록(6개 브랜치)과 대조 |
| EOL 감지 | MongoDB가 수명이 종료된 브랜치(4.4 이하)에 속하는 경우 경고 |
| 타임시리즈 스캔 | 전체 클러스터의 모든 time-series 컬렉션 나열 |
| 권한 확인 | 쓰기 권한이 있는 사용자 나열 — 취약점을 악용할 수 있는 대상 |
| 보안 점검 | `authorization`, `bindIp`, `TLS/SSL` 구성 평가 |
| 레플리카 셋 지원 | connection string `mongodb://host:port/?replicaSet=name`을 통한 연결 |
| 다양한 출력 | 일반 모드(색상), quiet(exit code), JSON(CI/CD) |
| 절대적 안전 | **쓰기 작업 0회** — 모든 MongoDB 명령은 읽기 전용 |

### 시스템 요구 사항

| 요구 사항 | 세부 사항 |
|----------|----------|
| 운영체제 | Linux (Ubuntu, Debian, RHEL, CentOS, Rocky, Alma 등) |
| Bash | ≥ 4.0 (associative array 지원) |
| MongoDB 셸 | `mongosh`(권장) 또는 `mongo`(레거시) |
| OS 권한 | `sudo` / `root` (`/etc/mongod.conf` 구성 파일 읽기용) |
| MongoDB 권한 | `system.users` 읽기 및 `listDatabases` 실행 권한이 있는 사용자 |

### 명령줄 매개변수 (CLI 옵션)

| 짧은 옵션 | 긴 옵션 | 매개변수 | 기본값 | 설명 |
|-------------|------------|---------|----------|-------|
| `-h` | `--help` | — | — | 도움말 표시 후 종료 |
| `-q` | `--quiet` | — | `false` | 주요 결과만 출력하고 exit code로 상태 확인 |
| `-j` | `--json` | — | `false` | JSON 형식으로 결과 출력(CI/CD 파이프라인에 적합) |
| `-H` | `--host` | `HOST` | `localhost` | MongoDB 서버 주소 |
| `-P` | `--port` | `PORT` | `27017` | MongoDB 포트 |
| `-u` | `--user` | `USER` | `super_admin` | MongoDB 로그인 사용자 이름 |
| `-p` | `--pass` | `PASS` | *(내부 기본값)* | MongoDB 비밀번호 |
| `-r` | `--replica-set` | `NAME` | `rs_cams` | 레플리카 셋 이름(있는 경우) |
| — | `--auth-db` | `DB` | `admin` | 인증 데이터베이스 |
| — | `--no-color` | — | `false` | 출력에서 ANSI 색상 비활성화 |

### 6단계 스캔 프로세스

스크립트는 6단계를 순차적으로 수행합니다. 각 단계에는 `[INFO]` / `[OK]` / `[WARN]` / `[ERROR]` 상태 로그가 있습니다.```
Bước 1: Phát hiện MongoDB installation
  ├─ Tìm mongod trong $PATH
  ├─ Duyệt các thư mục phổ biến:
  │   /usr/bin, /usr/local/bin, /opt/mongodb/bin, /usr/lib/mongodb, /snap/bin
  └─ Thất bại → exit 0 (không cài đặt = không bị ảnh hưởng)

Bước 2: Lấy phiên bản MongoDB
  ├─ Chạy: mongod --version
  ├─ Parse output: "db version v6.0.15" → "6.0.15"
  └─ Thất bại → exit 2 (lỗi không xác định)

Bước 3: So sánh phiên bản với danh sách bị ảnh hưởng
  ├─ Tách major.minor.patch bằng regex
  ├─ Kiểm tra EOL (4.4, 4.2, 4.0, 3.6, ...)
  ├─ Đối chiếu với bảng PATCHED_VERSIONS:
  │   ┌────────────┬──────────────┬────────┐
  │   │ Nhánh      │ Ngưỡng vá    │ Ví dụ  │
  │   ├────────────┼──────────────┼────────┤
  │   │ 5.0        │ patch ≥ 33   │ 5.0.33 │
  │   │ 6.0        │ patch ≥ 28   │ 6.0.28 │
  │   │ 7.0        │ patch ≥ 34   │ 7.0.34 │
  │   │ 8.0        │ patch ≥ 23   │ 8.0.23 │
  │   │ 8.2        │ patch ≥ 9    │ 8.2.9  │
  │   │ 8.3        │ patch ≥ 2    │ 8.3.2  │
  │   └────────────┴──────────────┴────────┘
  ├─ Nhánh ≥ 8.4 → mặc định AN TOÀN
  └─ Kết quả: SAFE | VULNERABLE | EOL | UNKNOWN

Bước 4: Kiểm tra trạng thái mongod
  ├─ pgrep -x mongod
  ├─ systemctl is-active mongod
  ├─ ss / netstat kiểm tra port đang listen
  └─ Kết quả: đang chạy / không chạy
도구 다운로드