[단독공격] 분석 — CVE-2024-45519
CVE-2024-45519 enables unauthenticated remote command execution via Zimbra’s postjournal service, demanding immediate external blocking of the endpoint and patching to 8.8.15 Patch 46 / 9.0.0 Patch 41 / 10.0.9 / 10.1.1 or later.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.99877 · 악용난이도 easy · KEV
🔍 공격 기법
-
공격 표면
- 노출 엔드포인트:
POST /service/postjournal(Zimbra 기본 REST/Servlet 경로, 추정) - 파라미터: 요청 본문에 포함된 문자열이 내부에서 그대로 쉘 명령어로 전달됨 → OS command injection.
- 노출 엔드포인트:
-
공격 흐름
- 정찰 – Zimbra 버전 확인(예:
/service/soap응답 헤더,/admin페이지 HTML)으로 대상 서버가 패치 미적용 버전인지 판단한다. 이는 CVSS 벡터AV:N/PR:N/UI:N와 일치해 사전 인증·사용자 행동이 필요 없다. - 초기 접근 – 인증 없이 위 엔드포인트에 특수 문자열(예:
cmd=;id)을 포함한 POST 요청을 전송한다. EPSS 0.99877(실측 악용 예측)과 KEV 등재가 의미하듯, 자동화 스캐너만으로도 성공 가능성이 거의 100%이다. - 명령 실행 – ZCS 내부 로직이 입력값을
Runtime.exec()혹은 시스템 쉘 호출에 그대로 전달해 공격자가 지정한 명령을 프로세스 권한(zimbra또는 root)으로 실행한다. CVSSAC:L(낮은 복잡도)와 직접 매핑된다. - 권한 확보 – 서비스가 보통
zimbra계정으로 동작하므로, 해당 계정의 파일·데이터베이스 접근 권한을 즉시 획득한다. 필요 시sudo -n등 로컬 권한 상승 기법과 연계 가능하다. - 지속 – 공격자는 시스템에 영구 백도어(예: systemd 서비스, cron 작업) 설치하거나 Zimbra 관리 콘솔용 인증 토큰을 생성한다. 이는 네트워크 피벗·스팸 발송 등 장기 악용을 가능하게 한다.
- 영향 – 전체 메일 서버 탈취, 스팸 메일 대량 전송, 내부 파일 유출, 서비스 중단(DDoS) 등을 초래한다.
- 정찰 – Zimbra 버전 확인(예:
-
원리 – 입력값 검증 부재 → OS 명령어 삽입 → 프로세스 권한으로 직접 실행.
AV:N/AC:L/PR:N/UI:N조건이 그대로 충족돼 네트워크 접근만 있으면 무인 자동 공격이 가능하다.
악용 가능성: AV가 Network인 점은 공격자가 외부에서 직접 Zimbra 서버의 postjournal 서비스 엔드포인트(예: https://<host>/service/postjournal)로 HTTP 요청을 보낼 수 있음을 의미합니다. AC가 Low이며 PR이 None, UI가 None이라는 조합은 특별한 사전 지식이나 인증 없이도 단순히 파라미터값만 변조하면 명령 실행이 이루어진다는 것을 뜻하므로, 공격 난이도는 실제로 “easy” 수준에 가깝습니다. EPSS 0.99877이라는 매우 높은 실측 위험 점수와 KEV 데이터베이스에 등재된 사실은 이 취약점이 이미 악용 사례가 보고되었으며, 방어자가 무시할 수 없는 현실적인 위협임을 뒷받침합니다. 트리거 조건은 postjournal 서비스가 기대하는 XML/JSON 본문 안의 특정 필드(예: “command” 혹은 “cmd”)에 임의 명령 문자열을 삽입하는 것으로, 인증 없이도 해당 요청만 전송하면 원격 코드 실행이 발생합니다. 따라서 공격 표면은 공개된 HTTP(S) 포트(80/443)와 postjournal API 자체이며, 파라미터 검증 부재가 바로 exploitable attack surface가 됩니다. 정찰 단계에서 Zimbra 버전 확인 후 해당 엔드포인트 존재 여부를 확인하고, 바로 명령 삽입 요청을 전송하면 초기 접근 → 원격 코드 실행 → 시스템 장악까지 순차적으로 진행될 수 있습니다.
💥 영향 분석
- 원격에서 임의 쉘 명령을 실행해 Zimbra 서버 전체를 장악한다.
- 메일 계정·주소록·첨부파일 탈취, 스팸/피싱 메일 대량 발송, 내부 네트워크 이동 및 추가 취약점 악용이 즉시 가능하다.
- 서비스 중단과 법적·규제 위험(데이터 유출·스팸 블랙리스트)도 동반한다.
🔗 관련 취약점·체이닝
- CWE: 실제는 OS Command Injection (CWE‑78)이며, 현재 CVE에는 미분류라 명시되지 않았다.
- 전형적인 체인
- 정보 노출 → 버전·엔드포인트 파악 → 본 RCE 이용 → 권한 상승(예: 로컬 SUID 바이너리 악용) → 영구 백도어 설치 또는 다른 파일 업로드 취약점(CVE‑2023‑XXXXX 등)과 연계해 장기 제어 확보.
- 세션 탈취 → RCE 후 Zimbra 관리 세션 쿠키를 발급받아 UI 접근 → 사용자·관리자 계정 생성·삭제 등 추가 악용 가능.
🔎 탐지
- 웹 서버/프록시 로그에
/service/postjournal경로와cmd=혹은 특수 문자(;,|,&&)가 포함된 POST 요청이 기록될 경우. - Zimbra 프로세스에서 비정상적인 쉘 실행 (
/bin/bash -c,sh -c) 로그가 남는 경우. - IDS/IPS 시그니처: “Zimbra postjournal command injection” →
POST .*postjournal.*cmd=.*[;|&]패턴.
🛡️ 완화 방안
- 즉시 차단 – 방화벽·WAF에서
/service/postjournal경로에 대한 외부 접근을 차단한다. - 패치 적용 – ZCS 8.8.15 Patch 46, 9.0.0 Patch 41, 10.0.9, 10.1.1 이상으로 업데이트한다. (다중 소스에서 일관성이 확인됐다)
- 서비스 비활성화 – postjournal 기능이 필요 없으면 Zimbra 설정 파일(
zmmailboxd.cf등)에서 비활성화한다. - 로그 강화 – 해당 엔드포인트와 시스템 명령 실행 로그를 중앙 SIEM에 집중 수집·알림 설정.
- 권한 최소화 – Zimbra 서비스 계정을 최소 권한으로 운영하고, SELinux/AppArmor 정책을 적용해 쉘 호출을 제한한다.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.99877 · exploit=easy · in_scope=None