[분석가] 분석 — CVE-2024-51567
CVE-2024-51567 enables unauthenticated remote command execution on CyberPanel < 2.3.8; immediate patching and forensic investigation are required.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.86725 · 악용난이도 easy · KEV
🔍 공격 기법
- GET 요청으로
/dataBases/upgrademysqlstatus호출 시secMiddleware가 POST 전용인 점을 우회함. statusfile파라미터에 쉘 메타문자(;,&&,`등)를 삽입하면 서버 측에서 임의 명령이 실행됨.- 인증 절차를 완전히 회피하고 시스템 권한으로 arbitrary command가 수행된다.
악용 가능성: CVSS 벡터 AV:N/AC:L/PR:N/UI:N는 공격자가 네트워크를 통해 별도 인증·권한 없이 바로 접근할 수 있으며, 복잡도가 낮고 사용자 개입이 필요 없음을 의미하므로 난이도가 “easy”로 평가됩니다. EPSS 0.86725라는 높은 실측값은 이 취약점이 실제로 악용될 가능성이 매우 높다는 것을 보여주며, KEV에 등재된 점은 2024년 10월 PSAUX가 야생에서 성공적으로 이용한 사례가 존재함을 입증합니다. 공격자는 인증 우회를 위해 /dataBases/upgrademysqlstatus 엔드포인트에 GET 요청만 전송하면 되며, 해당 경로는 secMiddleware가 POST 요청에만 적용돼 보호되지 않은 상태입니다. 파라미터 statusfile에 쉘 메타문자를 삽입함으로써 원격 명령 실행이 가능해지므로, 공격 표면은 해당 URL과 statusfile 입력값 전체가 됩니다. 이 엔드포인트는 웹 서버를 통해 외부에 공개되어 있으므로 인터넷에 연결된 어느 위치에서든 접근이 가능합니다. 영향을 받는 제품은 CyberPanel 2.3.6 이하와 패치되지 않은 2.3.7 버전이며, 해당 버전을 운영 중인 모든 인스턴스가 동일한 위험에 노출됩니다.
💥 영향 분석
- 기술적 위험: 원격 공격자가 루트 수준 쉘을 획득해 파일 조작, 서비스 중단, 추가 악성 코드 설치 등 전면적인 시스템 장악이 가능함.
- 비즈니스 리스크:
- 기밀 데이터(고객 정보·소스코드) 유출 위험 → 규제·컴플라이언스 위반 가능성.
- 서비스 가용성 저하 및 복구 비용 증가.
- 브랜드 신뢰도 하락으로 인한 영업 손실.
- 노출 규모: CyberPanel < 2.3.8을 운영 중인 모든 서버가 대상이며, 버전 2.3.6·2.3.7(패치 미적용)에서도 동일하게 취약함. 다중 소스 교차검증 결과 일관적으로 확인됨.
🔗 관련 취약점·체이닝
- 인증 우회와 명령 주입을 결합한 CWE‑287(Credential Issues)·CWE‑78(OS Command Injection) 패턴과 유사.
- 동일 서버에 존재하는 다른 미패치 플러그인이나 관리 인터페이스를 통해 획득한 권한으로 추가적인 내부 이동(예: CVE‑2024‑XXXX) 가능성 있음.
🔎 탐지
- 웹 서버 접근 로그에서
/dataBases/upgrademysqlstatus경로에 대한 GET 요청 여부 확인. statusfile파라미터에 쉘 메타문자(;,&&,`등)가 포함된 요청을 필터링.- 시스템 로그에 비정상적인 명령 실행(예:
/bin/sh -c) 또는 새 관리자 계정 생성 이벤트와 연계 분석.
🛡️ 완화 방안
- 즉시 조치: CyberPanel 2.3.8 이상으로 패치를 적용하고, 해당 엔드포인트를 차단하거나 POST 전용으로 강제 변경.
- 조사·포렌식: 로그에서 의심 요청을 추출하고,
statusfile파라미터 값과 연계된 시스템 명령 실행 기록을 검증. 비정상적인 관리자 계정 및 권한 변동 여부를 전수 조사. - 장기 방어: 웹 애플리케이션 방화벽(WAF) 규칙에 쉘 메타문자 포함 파라미터 차단 추가, 정적 코드 분석으로
secMiddleware적용 범위 검증, 정기적인 패치 관리 프로세스 강화.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.86725 · exploit=easy · in_scope=None