[방어] 분석 — CVE-2026-48172
CVE-2026-48172 allows remote attackers to gain root via the vulnerable LiteSpeed cPanel/WHM plugins’ “redisAble” API, and the highest‑priority action is to immediately block that API endpoint while preparing for patch deployment.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.18914 · 악용난이도 easy · KEV
🔍 공격 기법
LiteSpeed User‑End cPanel Plugin(버전 < 2.4.5)에서 cpanel_jsonapi_func=redisAble 파라미터를 처리할 때 입력값을 검증하지 않아, 공격자는 웹 서버 프로세스 권한으로 Redis 활성화/비활성화 명령을 실행한다.
1️⃣ 원격 HTTP 요청 → 플러그인 내부의 쉘 커맨드(system() 등) 호출 → 루트 권한 획득.
2️⃣ 로컬 루프백 제한이 존재하지만, 웹 서버가 이미 로컬에서 실행 중이면 추가 인증 없이 명령이 수행된다.
악용 가능성: 이 취약점은 CVSS 벡터에서 AV=Network, AC=Low, PR=Low, UI=None 으로 평가됩니다. 즉, 공격자는 네트워크를 통해 별다른 인증 없이 HTTP/HTTPS 요청만으로 악용할 수 있으며, 사용자 개입이 전혀 필요하지 않다는 의미입니다. 실제로 2026 년 5월에 Wild‑Exploitation 사례가 보고된 바 있고, KEV(已知可利用漏洞) 목록에도 등재되어 있어 공격자가 이미 성공적으로 이용하고 있음을 확인할 수 있습니다. EPSS 점수는 0.18914 로, 향후 12개월 내에 약 19 % 확률로 악용될 가능성이 높다는 통계적 근거를 제공합니다. 트리거 조건은 cPanel 플러그인 엔드포인트에 cpanel_jsonapi_func=redisAble 파라미터를 포함한 요청을 전송하는 것으로, 해당 파라미터가 Redis 기능을 비정상적으로 활성화하면서 권한 상승(최종적으로 root)으로 이어집니다. 공격 표면은 cPanel Web UI와 그 로그 디렉터리(/var/cpanel/logs, /usr/local/cpanel/logs)에 노출된 JSON‑API 호출이며, 외부에서 접근 가능한 HTTP/HTTPS 포트만 열려 있으면 충분히 이용될 수 있습니다.
💥 영향 분석
- 성공 시 공격자는 root 셸을 확보하고 시스템 전체를 장악한다.
- 플러그인 프로세스가 시스템 파일(예:
/etc/passwd,sudoers)을 쓰는 경로에 접근 가능하므로 권한 상승 후 서비스 마비, 데이터 유출, 다중 테넌트 환경에서 다른 고객사 영향이 발생한다. - 로그 조작·프로세스 종료 등으로 추가적인 가용성 손실을 초래할 수 있다.
🔗 관련 취약점·체이닝
- 동일 서버에 배포된 다른 cPanel 플러그인 또는 PHP‑based 웹 애플리케이션에서 로컬 파일 포함(LFI)이나 명령 삽입(RCE)이 존재하면, 초기 접근 후
redisAbleAPI를 이용해 권한 상승을 완성할 수 있다. - SELinux/AppArmor 정책 미적용 상태는 이 취약점과 결합하여 방어 경계를 낮춘다.
🔎 탐지
로그 지표
/var/cpanel/logs/및/usr/local/cpanel/logs/디렉터리의access_log,error_log등 HTTP 요청 로그- 필드:
request_uri,remote_addr - 패턴:
cpanel_jsonapi_func=redisAble
- 필드:
탐지 규칙 예시
-
파일 시스템 기반 정규식 탐지
text1grep -rE "cpanel_jsonapi_func=redisAble" /var/cpanel/logs /usr/local/cpanel/logs 2>/dev/null출력 없음 → 현재까지 탐지되지 않음
-
SIEM 쿼리 (Elastic, Splunk 등)
- Elastic DSL
1{ 2 "bool": { 3 "must": [ 4 { "match_phrase": { "request_uri": "cpanel_jsonapi_func=redisAble" } } 5 ], 6 "filter": [ 7 { "range": { "@timestamp": { "gte": "now-24h" } } } 8 ] 9 }10}- Splunk SPL
1index=cpx_logs sourcetype="access_log" request_uri="*cpanel_jsonapi_func=redisAble*" | stats count by remote_addr, request_uri- 프로세스/파일 변경 감시 (auditd 또는 osquery)
auditctl -w /usr/local/cpanel/lsws_plugin/ -p wa -k litespeed_redisableSELECT path, uid, gid FROM file_events WHERE path LIKE '%redisAble%' AND action='MODIFY';
오탐 튜닝
- 정상적인 내부 관리 스크립트가
redisAble파라미터를 사용한다면 IP 화이트리스트 적용. remote_addr가 사설 IP(127.0.0.1, 10.0.0.0/8 등)인 경우는 기본 허용하고, 외부 IP에 대해서만 알림을 생성하도록 필터링.
🛡️ 완화 방안
- 플러그인 실행 권한 최소화: 플러그인 파일(
*.pm,lsws_plugin.pl)의 소유자를root→cpanel로 변경하고, 실행 권한을 750으로 제한. - SELinux/AppArmor 정책 적용:
type=lsws_plugin_t로 정의하고,redisAble관련 시스템 명령(system,execve)에 대한 허용을deny처리. - 로그 및 파일 무결성 모니터링 강화: OSSEC/Wazuh 규칙 추가하여
/etc/sudoers.d/lsws*등 중요한 파일 변조 시 즉시 알림.
구현 난이도: 중간 (정책 작성·배포)
운영 영향: 기존 플러그인 동작에 제한이 있을 수 있으므로 테스트 환경에서 사전 검증 필요.
검증: 정책 적용 후 auditd 로그에 거부 이벤트가 기록되는지 확인하고, 정상적인 cPanel UI 기능이 영향을 받는지 확인.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.18914 · exploit=easy · in_scope=None