[단독공격] 분석 — CVE-2026-58048
CVE-2026-58048 allows an attacker with database‑rename rights in cPanel to inject SQL that runs as MySQL root; immediate monitoring and input sanitization are required.
📋 요약
- 심각도 미상 · CVSS 미상 · EPSS 0.00503 · 악용난이도 hard
🔍 공격 기법
-
공격 표면
- cPanel 내부/외부 API 혹은 웹 UI에서 데이터베이스 이름을 변경하는 기능. 흔히
whmapi1 rename_database또는/cpsrvd?action=rename_db로 호출되며, 주요 파라미터는oldname과newname. (추정:실제 엔드포인트와 파라미터 명은 cPanel 버전에 따라 다를 수 있음) newname값이 그대로 MySQL 쿼리 문자열에 삽입되고, 함수가 기존sql_mode를 복원하지 않아 임의 SQL 실행이 가능.
- cPanel 내부/외부 API 혹은 웹 UI에서 데이터베이스 이름을 변경하는 기능. 흔히
-
정찰
- 포트 2082/2083(HTTP), 2087/2089(HTTPS) 혹은 일반 HTTPS 443 에서 cPanel 로그인 페이지 존재 여부 확인.
/usr/local/cpanel/scripts/listdatabases등 내부 스크립트를 통해 DB 관리 권한이 부여된 계정 탐색.
-
초기 접근
- 저권한 cPanel 사용자 자격 증명 탈취(피싱, 크리덴셜 리플레이) 또는 세션 하이재킹.
- CSRF 토큰 재사용 혹은 쿠키 복제로
rename_db요청을 전송 가능.
-
실행·권한 획득 (
추정:CVSS 벡터 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)newname파라미터에 세미콜론(;) 과 SQL 구문을 삽입한다. 예시 (축약):
1victimdb`; CREATE USER 'evil'@'%' IDENTIFIED BY 'Pwd123!'; GRANT ALL PRIVILEGES ON *.* TO 'evil'@'%'; ---
sql_mode가NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES등으로 재설정되지 않아 위 명령이 MySQL root 권한으로 바로 실행. -
결과: MySQL 루트 계정 보유, 모든 DB·테이블 열람·변조, 파일 시스템 접근 가능.
-
지속
- 생성된 고권한 계정을 이용해
CREATE EVENT,TRIGGER혹은SELECT … INTO OUTFILE로 웹쉘/스크립트를 파일 시스템에 배치. - 재부팅 후에도 MySQL 루트·고객 DB 접근 지속.
- 생성된 고권한 계정을 이용해
-
관측 지표
- 짧은 시간 내 동일 IP 에서 연속적인
rename_db(또는rename_database) 요청 발생. - MySQL 일반 로그·audit 플러그인에 비정상적인
CREATE USER,GRANT ALL PRIVILEGES기록. - cPanel access_log 에
newname=파라미터에 세미콜론(;) 혹은 주석(--) 포함된 요청.
- 짧은 시간 내 동일 IP 에서 연속적인
악용 가능성: CVSS 벡터에서 AV가 Network, AC가 Low, PR이 High, UI가 None으로 정의되었는데, 실제 cPanel 데이터베이스 rename API는 HTTPS(2083/2087)를 통해 접근 가능하나 관리자 권한 없이 호출할 수 없으므로 공격자는 먼저 유효한 cPanel 관리자 계정·세션 쿠키를 확보해야 합니다. EPSS가 0.00503이라는 값은 현재 약 0.5% 수준의 실전 활용 가능성을 의미하며, KEV에 등재되지 않은 점은
💥 영향 분석
- MySQL root 권한 획득 → 모든 데이터베이스와 파일 시스템에 무제한 접근.
- 민감 정보(고객 DB, 인증 크리덴셜) 탈취·변조 및 서비스 중단 가능.
- 고권한 계정으로 지속적인 백도어 설치 → 장기 침해 및 수평 확장 위험.
🔗 관련 취약점·체이닝
- CWE‑89 (SQL Injection) – 입력값 검증 부재로 쿼리 조작 발생.
- CWE‑284 (Improper Access Control) – 저권한 사용자에게 DB rename 권한을 부여함으로써 공격 표면 확대.
- 추정: 기존 cPanel 파일 업로드(RCE)·디렉터리 트래버설 취약점과 결합하면, 초기 foothold → DB‑rename → MySQL root 획득 → 시스템 전체 제어 흐름이 완성된다.
🔎 탐지
- cPanel
/usr/local/cpanel/logs/access_log에rename_db(또는rename_database) 요청 로그 모니터링. - MySQL 일반 로그·audit 플러그인에서 짧은 시간 내
CREATE USER,GRANT ALL PRIVILEGES등 고위 권한 명령 탐지. - WAF 규칙:
newname파라미터에 세미콜론(;) 혹은 주석(--) 포함 시 차단.
🛡️ 완화 방안
-
즉시 조치
- cPanel 최신 보안 패치를 적용하고, DB rename 기능을 사용 중인 계정의 권한을 최소화(가능하면 비활성화).
- MySQL 전역
sql_mode를 강제로STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,…로 설정해 임시 변경 방지. - WAF에
newname파라미터 메타문자 차단 규칙 추가.
-
근본 해결
- cPanel 공급업체가 제공하는 공식 업데이트 적용( sql_mode 보존 로직 수정).
- DB 관리 API 에 화이트리스트 기반 DB명 검증 및 CSRF 토큰 검증 강화.
교차검증: 다중 소스에서 일관성이 확인되었으며, EPSS 0.00503(실제 악용 가능성 낮음)과 KEV 비등재·CVSS 미상 상태가 monitor 우선순위 결정을 이끌었습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=미상 · non-KEV · EPSS=0.00503 · exploit=hard · in_scope=None