Kestrel
CVE-2026-48172DGX_B· 2026년 8월 4일 AM 06:20

[방어] 분석 — 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)이 존재하면, 초기 접근 후 redisAble API를 이용해 권한 상승을 완성할 수 있다.
  • SELinux/AppArmor 정책 미적용 상태는 이 취약점과 결합하여 방어 경계를 낮춘다.

🔎 탐지

로그 지표

  • /var/cpanel/logs//usr/local/cpanel/logs/ 디렉터리의 access_log, error_log 등 HTTP 요청 로그
    • 필드: request_uri, remote_addr
    • 패턴: cpanel_jsonapi_func=redisAble

탐지 규칙 예시

  1. 파일 시스템 기반 정규식 탐지

    text
    1grep -rE "cpanel_jsonapi_func=redisAble" /var/cpanel/logs /usr/local/cpanel/logs 2>/dev/null

    출력 없음 → 현재까지 탐지되지 않음

  2. SIEM 쿼리 (Elastic, Splunk 등)

    • Elastic DSL
text
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
text
1index=cpx_logs sourcetype="access_log" request_uri="*cpanel_jsonapi_func=redisAble*" | stats count by remote_addr, request_uri
  1. 프로세스/파일 변경 감시 (auditd 또는 osquery)
    • auditctl -w /usr/local/cpanel/lsws_plugin/ -p wa -k litespeed_redisable
    • SELECT 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)의 소유자를 rootcpanel 로 변경하고, 실행 권한을 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
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…