cPanel CVE-2026-41940 인증 우회와 공유 호스팅 방어 전략

CVE-2026-41940 인증 우회가 cPanel·WHM, 정부·MSP 호스팅 환경에 미치는 영향과 패치·접근통제·테넌트 격리 방안을 정리한다.

2026-08-14 · 최초 발행 2026-05-20

공유 호스팅 관리 계층이 노출될 때

CVE-2026-41940은 cPanel·WebHost Manager(WHM)의 인증을 우회해 원격에서 권한을 높일 수 있는 취약점이다. CVSS v3.1 점수는 9.8이며, 단일 WHM 서버를 장악하면 그 서버에 공존하는 수백~수천 개의 cPanel 테넌트 계정과 서비스가 함께 위험해질 수 있다.

특히 정부 기관과 MSP(Managed Service Provider)가 운영하는 호스팅 환경에서는 서버 하나가 공급망의 관리 거점이 될 수 있다. 빠른 패치만으로 끝낼 문제가 아니라, 관리 인터페이스의 노출과 권한 집중을 전제로 방어 계층을 다시 점검해야 한다.

항목 상세
CVE ID CVE-2026-41940
CVSS v3.1 9.8 (Critical)
영향 제품 cPanel & WHM < 118.0.32, WHM < 118.0.32
취약점 유형 Authentication Bypass / Privilege Escalation
공격 벡터 Network (원격, 비인증)
최초 공개 2026-04-28 (cPanel Security Advisory)
PoC 공개 2026-05-03 (GitHub, 이후 삭제)
악용 확인 2026-05-08 (CISA KEV 등재)
영향 환경 공유 호스팅, VPS, 정부 인트라넷, MSP 관리 서버

cPanel은 전 세계 약 70%의 상용 웹 호스팅 서버에서 사용된다. WHM의 루트 권한이 탈취되면 모든 테넌트 데이터와 서비스가 즉시 위험에 노출되는 구조가 이 취약점의 파급력을 키운다.

세션 검증을 건너뛰는 요청 경로

문제의 중심에는 cPanel Service Daemon인 cpsrvd의 쿠키 서명 검증이 있다. 정상 흐름에서는 로그인 뒤 HMAC-SHA256으로 서명된 세션 쿠키를 발급하고, 모든 API 요청에서 해당 서명을 검증한다.

취약한 경로에서는 /json-api/, /xml-api/ 요청의 쿠키 서명 검증이 조건부로 생략된다. X-CPANEL-BYPASS-AUTHTOKEN 헤더에 특정 내부 서비스 식별자 값이 지정되면, cpsrvd가 이를 내부 서비스 간 호출(localhost loopback IPC)로 오인하고 서명을 확인하지 않는다.

# 취약한 요청 예시 (실제 공격 패턴)
GET /json-api/listaccts?api.version=1 HTTP/1.1
Host: target-whm.example.gov:2087
X-CPANEL-BYPASS-AUTHTOKEN: cpanel-internal-service
Cookie: cpsession=ARBITRARY_VALUE
Authorization: cpanel root:

외부 네트워크에서 WHM 포트(2087/TCP)로 이 요청을 전송하면, 공격자는 root 권한으로 계정을 조회·생성·삭제하고 DNS와 파일 시스템에 접근하는 등 WHM 기능을 수행할 수 있다.

API 기능 엔드포인트 악용 목적
계정 목록 조회 listaccts 테넌트 계정 열거 및 타깃 선정
계정 암호 변경 passwd 테넌트 계정 장악
SSH 키 등록 installsshkey 영속성 백도어 설치
DNS 존 조작 addzonerecord 도메인 하이재킹·피싱 인프라 구축
파일 관리자 접근 fileman 웹쉘 업로드·소스코드 탈취
데이터베이스 접근 mysqlcreatedatabase DB 자격증명 탈취
cPanel 계정 생성 createacct 공격자 전용 계정 생성
SSL 인증서 발급 installssl MITM 공격 준비

인증 우회만으로도 root 수준 API에 닿을 수 있지만, 관찰된 공격 캠페인에서는 시스템 셸 권한과 영속성을 확보하기 위한 후속 단계가 이어졌다.

CVE-2026-41940인증 우회 요청WHM root API무단 접근SSH 주입installsshkey API웹쉘 업로드fileman APISSH root 로그인영속성 확보PHP 웹쉘 실행서버 획득테넌트 계정 전체 접근데이터 탈취측면 이동인접 서버·MSP 관리망공급망 확장정부·기업 네트워크 침해DNS 조작도메인 하이재킹피싱 인프라 구축추가 피해자 확대

이 체인에서 중요한 지점은 installsshkey API를 이용해 공격자의 공개 키를 ~root/.ssh/authorized_keys에 넣고, 비밀번호 없는 SSH 루트 접근을 남기는 과정이다. 이후 테넌트의 이메일·데이터베이스·파일을 대규모로 탈취하거나 랜섬웨어를 배포하고, 정상 도메인을 피싱·멀버타이징에 사용할 수 있다.

정부와 MSP 환경에서 확산되는 경로

CISA, Shadow Server Foundation, Censys의 공동 추적 결과에 따르면 CVE-2026-41940 PoC 공개 후 5일 이내 자동화된 대규모 스캐닝이 시작됐고, 약 2주 만에 정부·MSP 환경의 실제 침해 사례가 확인됐다.

  • Shodan·Censys 데이터를 바탕으로 WHM 포트(2087) 개방 서버를 전수 스캔했다.
  • Nuclei 템플릿·Metasploit 모듈을 통해 병렬 자동 공격이 이뤄졌다.
  • .gov, .go.kr, .gouv.fr 도메인을 운영하는 공유 호스팅 서버가 집중 대상이 됐다.
  • MSP의 WHM 서버를 거점으로 삼아 한 번의 침해로 수십~수백 고객사에 동시 피해를 일으킬 수 있다.

초기 접근 뒤 우선 수집 대상에는 /etc/passwd, /etc/shadow, ~/.my.cnf, DB 설정 파일, 테넌트별 wp-config.php, .env, cPanel 계정의 이메일 저장소(~/mail/)가 포함된다.

MSP는 여러 고객사의 인프라를 통합 관리한다. 따라서 WHM 서버 한 대가 침해되면 고객 테넌트와 내부 관리 네트워크까지 확산되는 multiplier 효과가 발생한다.

CVE-2026-41940익스플로잇민감 정보 탈취측면 이동RDP·SSH 피버팅공격자MSP WHM 서버root 권한 탈취고객사 A정부 기관고객사 B금융사고객사 C의료기관고객사 D교육기관고객사 E~N중소기업 다수공공 데이터개인정보업무 문서MSP 내부관리 네트워크MSP 고객사내부 네트워크

이 구조에서는 MSP WHM 1대의 침해가 전체 고객 테넌트 노출로 이어지는 단일 실패 지점이 된다. 운영자가 고객 계정 전체에 높은 권한을 보유하고, WHM에 설치된 VPN·SSH 터널로 고객사 내부망에 피버팅할 수 있다는 점도 위험을 키운다. MSP IP가 고객사 방화벽에서 신뢰된 관리 트래픽으로 허용되는 경우가 많고, 고객사가 공격자의 접근과 MSP의 정상 관리 접근을 구분하기 어렵다는 문제도 있다.

정부 기관이 cPanel 기반 공유 호스팅을 이용한다면 비공개 문서, 내부 정책 파일, 계약서와 시민 개인정보가 노출될 수 있다. 정부 도메인의 DNS 하이재킹은 시민 대상 피싱 사이트 운영으로 이어질 수 있으며, 이메일 서버 접근은 공식 발신 주소를 이용한 스피어 피싱 캠페인에 악용될 수 있다. 정부 네트워크 내부의 측면 이동 거점으로 쓰일 가능성도 있다.

2026년 5월에는 동남아시아 2개국 정부의 공식 웹호스팅 서버가 CVE-2026-41940을 통해 침해됐고, 공격자는 정부 도메인을 이용한 피싱 페이지를 72시간 운영한 사례가 보고됐다.

패치 상태를 먼저 확인한다

대응의 출발점은 cPanel & WHM를 보안 패치 버전으로 즉시 올리는 일이다.

# cPanel 자동 업데이트 상태 확인
/usr/local/cpanel/cpanel --version

# 수동 업데이트 실행 (root 권한 필요)
/scripts/upcp --force

# 현재 버전이 취약한지 확인
/usr/local/cpanel/cpanel --version | grep -E "^[0-9]+"
# 118.0.32 미만이면 즉시 업데이트 필요

# 자동 업데이트 설정 확인 및 활성화
cat /etc/cpupdate.conf
# CPANEL=RELEASE 또는 CPANEL=CURRENT 확인

# 업데이트 후 패치 적용 검증
grep "CVE-2026-41940" /var/cpanel/updatelogs/update.*.log

cPanel의 단계적 패치 관리 정책에 따라 RELEASE, CURRENT, EDGE 트랙 중 운영 환경에 맞는 트랙을 고르되, 치명적 CVE에는 RELEASE 트랙을 쓰고 있더라도 즉시 적용이 권장된다.

관리 포트를 공개 서비스와 분리한다

패치가 바로 불가능하다면 관리 포트에 대한 네트워크 차단이 차선책이다. WHM 포트는 신뢰된 관리자 IP와 VPN 경로로 제한해야 한다.

# WHM 포트(2087)를 신뢰된 IP만 허용
# firewalld 기반 (CentOS/RHEL/AlmaLinux)
firewall-cmd --permanent --zone=trusted --add-source=203.0.113.10/32
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="2087" protocol="tcp" source address="203.0.113.10/32" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="2087" protocol="tcp" drop'
firewall-cmd --reload

# iptables 기반
iptables -A INPUT -p tcp --dport 2087 -s 203.0.113.10 -j ACCEPT
iptables -A INPUT -p tcp --dport 2087 -j DROP

# cPanel 자체 접근 제어 (Host Access Control)
# /etc/hosts.allow
cpaneld: 203.0.113.10
whostmgrd: 203.0.113.10
# /etc/hosts.deny
cpaneld: ALL
whostmgrd: ALL
계층 통제 방법 설명
네트워크 경계 방화벽 IP 화이트리스트 WHM 포트를 관리자 IP만 허용
VPN 게이트웨이 WireGuard·OpenVPN 필수 경유 관리 접근은 VPN 터널 경유만 허용
cPanel 자체 Host Access Control /etc/hosts.allow/deny 설정
역방향 프록시 Nginx/HAProxy 앞단 배치 X-Forwarded-For 기반 IP 검증
접근 로그 중앙 SIEM 수집 WHM 로그인 시도 실시간 모니터링

정상 로그인 경로도 감시 대상이다

취약점이 패치된 뒤에도 자격증명 탈취를 통한 정상 로그인은 남는다. WHM 전체 계정에 2FA를 적용하고, 관리 API와 인증 로그에서 비정상 패턴을 찾아야 한다.

# WHM에서 전체 계정 2FA 강제 활성화
# WHM → Security Center → Two-Factor Authentication
# 또는 API를 통한 일괄 설정

# cPanel TOTP 설정 확인
/usr/local/cpanel/bin/securitytoken_manager --list-users

# 2FA 미설정 계정 탐지 스크립트
for user in $(cat /etc/trueuserdomains | awk '{print $2}'); do
    if ! /usr/local/cpanel/bin/securitytoken_manager --check-user "$user" 2>/dev/null; then
        echo "2FA 미설정: $user"
    fi
done
# cPanel 로그인 이벤트 실시간 모니터링
tail -f /usr/local/cpanel/logs/access_log | grep -E "(login|auth|session)"

# WHM 관리자 API 호출 로그
tail -f /usr/local/cpanel/logs/whm_xfer_log

# 실패한 인증 시도 집계
grep "FAILED LOGIN" /usr/local/cpanel/logs/access_log | \
    awk '{print $1}' | sort | uniq -c | sort -rn | head -20

# CVE-2026-41940 악용 패턴 탐지 (X-CPANEL-BYPASS-AUTHTOKEN 헤더)
grep -i "bypass-authtoken" /usr/local/cpanel/logs/access_log
grep -i "bypass-authtoken" /var/log/nginx/access.log
탐지 규칙 임계값 조치
WHM 로그인 실패 반복 5회/분 이상 동일 IP IP 차단 + 알림
비정상 시간대 WHM 접근 업무 시간 외 즉시 알림·세션 종료
새 SSH 키 등록 모든 이벤트 승인 요구 워크플로우
DNS 존 레코드 변경 모든 이벤트 변경 전 스냅샷·승인
대용량 파일 다운로드 100MB/분 초과 세션 종료 + 조사
X-CPANEL-BYPASS-AUTHTOKEN 헤더 탐지 모든 이벤트 즉시 차단 + 포렌식

루트 권한 탈취 뒤의 피해를 줄이는 격리

WHM 루트 권한이 이미 탈취된 상황까지 고려하면, 테넌트 간 격리와 최소 권한 설계가 필요하다.

WHM 관리 계층root 권한격리 계층CageFS · CloudLinux테넌트 A/home/user_a (격리 FS)테넌트 B/home/user_b (격리 FS)테넌트 C/home/user_c (격리 FS)MySQL DB전용 계정 user_a_dbMySQL DB전용 계정 user_b_dbMySQL DB전용 계정 user_c_db감사 로그불변 저장소실시간 모니터링cPHulk · Imunify360
  • CloudLinux OS + CageFS: 각 cPanel 계정을 독립된 가상 파일 시스템으로 격리하고 /proc, /etc/passwd 등 민감 경로 접근을 차단한다.
  • LVE(Lightweight Virtual Environment): 테넌트별 CPU·메모리·I/O 자원 제한으로 노이즈 이웃 공격을 방지한다.
  • MySQL Governor: 테넌트별 DB 쿼리 자원을 제한해 SQL 남용을 막는다.
  • cPHulk Brute Force Protection: 로그인 실패 횟수를 기반으로 IP를 자동 차단한다.
  • Imunify360: 실시간 악성코드 탐지·웹쉘 차단·WAF 통합을 제공한다.
  • ModSecurity + OWASP CRS: 웹 애플리케이션 계층의 공격을 차단한다.
# WHM 계정의 권한을 역할 기반으로 제한
# Reseller 계정에 특정 WHM 기능만 허용
whmapi1 saveacllist acllist=limited_reseller \
    create-acct=1 \
    view-domainlist=1 \
    kill-dns=0 \
    all=0

# cPanel 계정의 기능 제한 (Feature Manager)
# Shell Access, Cron Jobs 등 위험 기능 기본 비활성화

인터넷 노출과 위협 인텔리전스를 함께 확인한다

공격자는 CVE-2026-41940 공개 뒤 Shodan, Censys, ZoomEye 등의 데이터로 WHM 포트(2087)가 공개된 서버 목록을 만들었다. 방어 측도 같은 종류의 도구를 활용해 노출 자산과 취약 서버를 먼저 파악할 수 있다.

식별에 활용되는 정보는 HTTP 응답의 cPanel 또는 WHM 문자열, 2082(cPanel HTTP)·2083(cPanel HTTPS)·2086(WHM HTTP)·2087(WHM HTTPS) 포트, TLS 인증서 Subject의 cpanel 문자열이다.

# 자체 인터넷 노출 면적 확인 (Shodan API)
curl -s "https://api.shodan.io/shodan/host/search?key=API_KEY&query=port:2087+X-cPanel" \
    | jq '.matches[].ip_str'

# 취약 버전 서버 식별 (내부 스캔)
nmap -sV -p 2087 --script http-headers <subnet> | grep -i cpanel

# cPanel 버전 원격 확인
curl -sk https://target:2087/cgi/login.cgi | grep -i version

위협 인텔리전스는 CISA KEV(Known Exploited Vulnerabilities)의 CVE-2026-41940 등재 및 연방 기관 14일 패치 의무, 호스팅 업계 ISAC의 공격 IP·IoC 공유, security@cpanel.net과 공식 보안 게시판, Shadow Server Foundation의 무료 스캐닝 알림 서비스를 통해 확인할 수 있다.

책임 영역 호스팅 업체 고객(테넌트)
WHM 패치 적용 필수 해당 없음
서버 방화벽 설정 필수 제한적
cPanel 2FA 정책 강제 적용 권장 직접 활성화
웹 애플리케이션 코드 보안 해당 없음 필수
DB 자격증명 관리 인프라 제공 보안 설정 책임
백업 정책 인프라 백업 제공 정기 백업 실행
침해 사고 대응 서버 레벨 대응 애플리케이션 레벨 대응

CVE-2026-41940은 인증 우회 하나가 수천 개의 테넌트를 보호하는 호스팅 인프라를 무력화할 수 있음을 보여준다. 정부 기관과 MSP 환경에서는 즉시 cPanel 버전을 올리고, 관리 인터페이스 IP 제한, 2FA 강제 적용, CageFS 기반 격리, 실시간 이상 탐지를 심층 방어 체계로 묶어야 한다.

Sources

cPanelWHM인증 우회공유 호스팅 보안MSP 보안