文章总结: CVE-2026-41940是cPanel/WHM中一个CVSS评分9.3的严重认证绕过漏洞,通过CRLF注入可未经认证获取WHMroot权限并实现远程代码执行,影响11.40之后所有版本。攻击链涉及预认证会话获取、HTTP头部注入、令牌泄露与传播等步骤,watchTowrLabs已发布完整PoC。建议立即通过/usr/local/cpanel/scripts/upcp–force命令更新补丁,并检测2083/2087端口防护状态。 综合评分: 85 文章分类: 漏洞分析,威胁情报,WEB安全,应急响应,漏洞预警
CVE-2026-41940 深度分析:cPanel/WHM认证绕过至RCE,影响数百万服务器
小悉 小悉
爱安全Info
2026年4月30日 15:16 广西
在小说阅读器读本章
去阅读
CVE-2026-41940 深度分析:cPanel/WHM 认证绕过至 RCE,影响数百万服务器
发布日期: 2026 年 4 月 30 日 漏洞类型: 认证绕过 (Authentication Bypass) → 远程代码执行 (RCE) 影响范围: cPanel & WHM 11.40 至补丁前所有版本 CVSS 评分: 9.3/10 (Critical) CWE 编号: CWE-306 Missing Authentication for Critical Function CVE 编号: CVE-2026-41940 披露日期: 2026-04-28 发现者: Sina Kheirkhah (@SinSinology) — watchTowr Labs 利用条件: 远程、无需认证
一、漏洞概述
2026 年 4 月 28 日,安全研究机构 watchTowr Labs 的研究员 Sina Kheirkhah 公开披露了 cPanel/WHM 中一个严重的认证绕过漏洞,编号 CVE-2026-41940,CVSS 评分高达 9.3 分(Critical)。
cPanel/WHM 是全球使用最广泛的服务器管理面板之一,被数百万网站托管商和服务器管理员使用。该漏洞允许未经认证的远程攻击者通过登录流程中的逻辑缺陷,绕过身份验证直接获得 WHM root 权限,进而实现远程代码执行(RCE)。
漏洞影响 cPanel & WHM 11.40 之后的所有版本,意味着几乎所有正在使用的 cPanel 服务器都在攻击面内。知名域名注册商 Namecheap 在漏洞公开后第一时间紧急封锁了 2083/2087 端口,直到补丁部署完毕才恢复服务。
watchTowr Labs 已发布完整 PoC 工具,利用门槛极低。
二、攻击时间线
| 时间 | 事件 | | — | — | | 2026-04-28 | cPanel 发布安全更新公告 | | 2026-04-28 | Namecheap 紧急封锁 2083/2087 端口 | | 2026-04-28 15:45 EDT | Namecheap 开始维护 | | 2026-04-28 18:35 EDT | cPanel 发布补丁,Namecheap 开始部署 | | 2026-04-28 22:04 EDT | Namecheap Reseller/Stellar Business 服务器修复完成 | | 2026-04-28 22:42 EDT | Namecheap 所有服务器修复完成 | | 2026-04-29 | watchTowr Labs 发布 PoC 工具 | | 2026-04-29 | VulnCheck 发布安全通告 | | 2026-04-29 | NVD 收录 CVE-2026-41940 |
三、漏洞成因深度分析
3.1 根本原因
cPanel/WHM 的登录流程中存在 CRLF 注入(回车换行注入)漏洞,攻击者可通过构造特殊的 Basic Auth 认证头和 cookie 参数,注入恶意 HTTP 头部,从而泄露安全令牌并绕过认证机制。
核心问题在于 cPanel/WHM 对登录流程中的 HTTP 头部缺少充分验证(CWE-306),导致攻击者可以在未认证的情况下获取有效的 WHM 会话令牌。
3.2 技术攻击链
┌───────────────────────────────────────────────────────────┐
│ CVE-2026-41940 攻击链 │
├───────────────────────────────────────────────────────────┤
│ │
│ 1. 铸造预认证会话 (Mint Preauth Session) │
│ → 获取 session base 令牌 │
│ ↓ │
│ 2. CRLF 注入 (Basic Auth + no-ob Cookie) │
│ → 注入恶意 HTTP 头部 │
│ ↓ │
│ 3. HTTP 307 重定向泄露安全令牌 │
│ → 获取 /cpsessXXXXXXXXXX 令牌 │
│ ↓ │
│ 4. 触发 do_token_denied 传播令牌 │
│ → 将原始令牌写入缓存 (raw → cache) │
│ ↓ │
│ 5. 使用泄露令牌访问 WHM API │
│ → /json-api/version 返回 HTTP 200 │
│ ↓ │
│ 6. 获得 WHM Root 权限 │
│ → 完全控制服务器 │
│ ↓ │
│ 7. 远程代码执行 (RCE) │
│ → 通过 WHM API 执行任意系统命令 │
│ │
└───────────────────────────────────────────────────────────┘
3.3 攻击步骤详解
步骤 1 — 铸造预认证会话
攻击者首先向 cPanel/WHM 的登录端口(2083/2087)发送请求,获取一个预认证会话的 session base 令牌。此步骤无需任何凭据。
步骤 2 — CRLF 注入
利用 Basic Auth 头部和 no-ob cookie 中的 CRLF 字符(\r\n),向服务器注入额外的 HTTP 头部。cPanel 的登录处理程序未对这些输入进行充分的换行符过滤,导致攻击者可以操纵服务器的 HTTP 响应。
步骤 3 — 安全令牌泄露
服务器返回 HTTP 307 重定向响应,其中包含了泄露的安全令牌(格式为 /cpsessXXXXXXXXXX)。该令牌本应仅在认证成功后分配给合法用户。
步骤 4 — 令牌传播
攻击者触发 do_token_denied 端点,使泄露的原始令牌从内存传播到缓存层。服务器返回 HTTP 401,但令牌传播已经完成。
步骤 5 — 权限验证
使用泄露的安全令牌访问 WHM JSON API(如 /json-api/version),服务器返回 HTTP 200 和版本信息,确认已获得 WHM root 权限。
四、PoC 与检测
4.1 公开 PoC
watchTowr Labs 已在 GitHub 发布完整 PoC 工具:
仓库: https://github.com/watchtowrlabs/watchTowr-vs-cPanel-WHM-AuthBypass-to-RCE.py[1] 作者: Sina Kheirkhah (@SinSinology) — watchTowr Labs 来源: CISA-ADP 确认
⚠️ 安全警告: 以下内容仅用于授权安全测试。未经授权对他人服务器进行测试属于违法行为。请遵守当地法律法规。
使用方法:
# 克隆仓库
git clone https://github.com/watchtowrlabs/watchTowr-vs-cPanel-WHM-AuthBypass-to-RCE.py
cd watchTowr-vs-cPanel-WHM-AuthBypass-to-RCE.py
# 运行 PoC(需指定目标 WHM 地址)
python authbypass-RCE.py --target https://target:2087/
PoC 执行流程输出:
[0] hostname = <target>
[1] minting a preauth session...
session base = :vQ2WC5Bexp0oFSa7
[2] sending the CRLF injection (Basic auth + no-ob cookie)...
HTTP 307, leaked token = /cpsess5691070609
[3] firing do_token_denied to propagate raw -> cache...
HTTP 401, gadget fired
[4] verifying we're WHM root...
/json-api/version -> HTTP 200 {"version":"11.110.0.89"}
4.2 系统检测脚本
#!/bin/bash
# CVE-2026-41940 检测脚本
# 检查 cPanel/WHM 是否受影响
echo "=== CVE-2026-41940 (cPanel/WHM AuthBypass) 检测 ==="
echo ""
# 1. 检查 cPanel 是否安装
if [ -f /usr/local/cpanel/cpanel ]; then
echo "[*] cPanel 已安装"
else
echo "[+] 未安装 cPanel,系统不受影响"
exit 0
fi
# 2. 检查 cPanel 版本
CPANEL_VER=$(/usr/local/cpanel/cpanel -V 2>/dev/null)
echo "[*] cPanel 版本: $CPANEL_VER"
# 3. 检查安全更新状态
if [ -f /var/cpanel/version/security_update_2026_04_28 ]; then
echo "[+] 安全更新 2026-04-28 已应用"
else
echo "[!] 安全更新 2026-04-28 未应用 — 系统可能受影响!"
fi
# 4. 检查端口是否开放
for port in 2083 2087; do
if ss -tlnp | grep -q ":$port "; then
echo "[*] 端口 $port 开放"
else
echo "[*] 端口 $port 未开放"
fi
done
# 5. 检查防火墙规则
if iptables -L -n 2>/dev/null | grep -q "208[37]"; then
echo "[*] 检测到针对 cPanel 端口的防火墙规则"
fi
echo ""
echo "=== 建议 ==="
echo "[*] 立即运行: /usr/local/cpanel/scripts/upcp --force"
echo "[*] 参考: https://support.cpanel.net/hc/en-us/articles/40073787579671"
echo "=== 检测完成 ==="
4.3 Python 自动化检测脚本
#!/usr/bin/env python3
"""
CVE-2026-41940 (cPanel/WHM AuthBypass) 漏洞检测工具
仅检测版本信息,不执行任何利用操作。
"""
import ssl
import urllib.request
import json
import sys
def check_cpanel(target):
"""检测目标 cPanel/WHM 是否可能受影响"""
print("=" * 55)
print("CVE-2026-41940 cPanel/WHM AuthBypass 漏洞检测")
print("=" * 55)
print(f"\n[*] 目标: {target}")
# 忽略 SSL 证书验证(cPanel 常用自签名证书)
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
# 检测 WHM (2087)
for port, name in [(2087, "WHM"), (2083, "cPanel")]:
url = f"https://{target}:{port}/"
try:
req = urllib.request.Request(url, method='HEAD')
req.add_header('User-Agent', 'CVE-2026-41940-Checker/1.0')
resp = urllib.request.urlopen(req, timeout=10, context=ctx)
server = resp.headers.get('Server', 'Unknown')
print(f"[*] {name} (:{port}) 可达 — Server: {server}")
print(f"[!] 请确认已应用 2026-04-28 安全更新")
except urllib.error.URLError as e:
print(f"[-] {name} (:{port}) 不可达: {e.reason}")
except Exception as e:
print(f"[-] {name} (:{port}) 检测异常: {e}")
print("\n" + "=" * 55)
print("建议操作:")
print(" 1. 登录 WHM → 检查版本是否包含安全补丁")
print(" 2. 运行: /usr/local/cpanel/scripts/upcp --force")
print(" 3. 临时缓解: 限制 2083/2087 端口访问")
print(" 4. 参考: https://support.cpanel.net/hc/en-us/articles/40073787579671")
print("=" * 55)
if __name__ == '__main__':
if len(sys.argv) < 2:
print(f"用法: {sys.argv[0]} <目标IP或域名>")
sys.exit(1)
check_cpanel(sys.argv[1])
五、影响范围
5.1 受影响版本
| 条件 | 详情 | | — | — | | 受影响版本 | cPanel & WHM 11.40 及之后所有版本 | | 修复版本 | 2026-04-28 安全更新 | | 攻击端口 | TCP 2083 (cPanel) / TCP 2087 (WHM) |
5.2 影响评估
cPanel 是全球最流行的服务器管理面板之一。据统计,全球有超过 数百万台服务器 运行 cPanel/WHM。该漏洞的影响范围极其广泛:
| 场景 | 风险等级 | 说明 | | — | — | — | | 共享主机提供商 | 🔴 极高 | 一台服务器托管数百个网站,攻击者可控制所有站点 | | VPS/云服务器 | 🔴 极高 | 使用 cPanel 管理的 VPS 可被完全接管 | | 企业 Web 服务器 | 🔴 高 | WHM root 权限可执行任意命令 | | 域名注册商/托管商 | 🔴 高 | 客户数据、网站、数据库全部暴露 | | 开发/测试环境 | 🟠 中 | 若暴露在公网同样危险 |
5.3 真实影响案例
Namecheap 紧急响应:全球知名域名注册商 Namecheap 在漏洞公开后立即采取紧急措施:
- 封锁 TCP 2083 和 2087 端口
- 所有 cPanel/WHM 界面、Webmail、WebDisk 暂停服务
- 从补丁发布到全量部署耗时约 4 小时
- 影响所有 Reseller、Stellar Business 及其他服务器
六、修复方案
6.1 升级 cPanel/WHM(推荐)
# 强制更新 cPanel/WHM 到最新版本
/usr/local/cpanel/scripts/upcp --force
# 验证更新
/usr/local/cpanel/cpanel -V
6.2 临时缓解措施(补丁前)
方案一:防火墙封锁管理端口
# 使用 iptables 限制 cPanel/WHM 管理端口访问
# 仅允许可信 IP 访问
# 封锁 cPanel 端口(2083)
iptables -A INPUT -p tcp --dport 2083 -j DROP
# 封锁 WHM 端口(2087)
iptables -A INPUT -p tcp --dport 2087 -j DROP
# 允许可信管理 IP(替换为你的 IP)
iptables -I INPUT -p tcp -s YOUR_ADMIN_IP --dport 2083 -j ACCEPT
iptables -I INPUT -p tcp -s YOUR_ADMIN_IP --dport 2087 -j ACCEPT
# 保存规则
iptables-save > /etc/iptables.rules
方案二:CSF 防火墙配置
# 如果使用 CSF(ConfigServer Security & Firewall)
# 编辑 /etc/csf/csf.conf
# 将 2083 和 2087 从 TCP_IN 中移除
# 或者添加到 csf.deny
csf -d 0.0.0.0/0 "CVE-2026-41940 临时封锁"
# 仅允许管理 IP
csf -a YOUR_ADMIN_IP "管理员 IP"
方案三:Nginx/Apache 反代层拦截
# 在反向代理层拦截可疑请求
# 阻止包含 CRLF 字符的请求
if ($request_uri ~* "%0d|%0a|\r|\n") {
return 403;
}
6.3 后续安全加固
# 1. 启用双因素认证 (2FA)
whmapi1 twofactorauth_enable_policy
# 2. 检查是否有异常登录
grep "login" /usr/local/cpanel/logs/login_log | tail -50
# 3. 检查异常会话
ls -la /var/cpanel/sessions/
# 4. 审计 WHM API 调用日志
grep "json-api" /usr/local/cpanel/logs/access_log | tail -50
# 5. 检查是否有可疑的 cron 任务
for user in $(cut -d: -f1 /etc/passwd); do
crontab -u "$user" -l 2>/dev/null | grep -v "^#" | grep -v "^$" && echo "--- $user ---"
done
七、影响评估
| 维度 | 评估 | 说明 | | — | — | — | | 利用难度 | 🟢 极低 | 远程、无需认证、PoC 公开可用 | | 影响范围 | 🔴 极广 | 全球数百万 cPanel 服务器 | | 修复难度 | 🟢 简单 | 运行 upcp –force 即可 | | 业务影响 | 🔴 灾难性 | WHM root → 完全控制服务器 + 所有托管网站 | | 在野利用 | ⚠️ 极高风险 | PoC 已公开,Namecheap 已紧急响应 |
八、官方参考资料
官方来源
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-41940[2]
- cPanel 安全公告: https://support.cpanel.net/hc/en-us/articles/40073787579671-cPanel-WHM-Security-Update-04-28-2026[3]
- cPanel 更新日志: https://docs.cpanel.net/release-notes/release-notes[4]
- VulnCheck 通告: https://www.vulncheck.com/advisories/cpanel-and-whm-authentication-bypass-via-login-flow[5]
PoC 与技术分析
- watchTowr PoC: https://github.com/watchtowrlabs/watchTowr-vs-cPanel-WHM-AuthBypass-to-RCE.py[6]
- watchTowr Labs: https://labs.watchtowr.com/[7]
第三方响应
- Namecheap 紧急公告: https://www.namecheap.com/status-updates/ongoing-critical-security-vulnerability-in-cpanel-april-28-2026[8]
九、安全提示
⚠️ 紧急安全提示:
- 立即更新:运行
/usr/local/cpanel/scripts/upcp --force升级到最新版本- 检查入侵痕迹:审查
/usr/local/cpanel/logs/login_log和 WHM API 日志- 限制管理端口:将 2083/2087 端口限制为仅管理 IP 可访问
- 启用 2FA:为所有 WHM/cPanel 账户启用双因素认证
- 通知客户:如果你是托管商,及时通知客户并检查所有托管站点
- 该漏洞 CVSS 9.3 分,远程无需认证即可利用,请务必第一时间响应
本文由 爱安全 Info 原创发布,转载请注明出处。 数据来源:NVD、VulnCheck、watchTowr Labs、cPanel 官方公告、Namecheap 公告
引用链接
[1]https://github.com/watchtowrlabs/watchTowr-vs-cPanel-WHM-AuthBypass-to-RCE.py
[2]https://nvd.nist.gov/vuln/detail/CVE-2026-41940
[3]https://support.cpanel.net/hc/en-us/articles/40073787579671-cPanel-WHM-Security-Update-04-28-2026
[4]https://docs.cpanel.net/release-notes/release-notes
[5]https://www.vulncheck.com/advisories/cpanel-and-whm-authentication-bypass-via-login-flow
[6]https://github.com/watchtowrlabs/watchTowr-vs-cPanel-WHM-AuthBypass-to-RCE.py
[7]https://labs.watchtowr.com/
[8]https://www.namecheap.com/status-updates/ongoing-critical-security-vulnerability-in-cpanel-april-28-2026
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:爱安全Info 小悉 小悉《CVE-2026-41940 深度分析:cPanel/WHM认证绕过至RCE,影响数百万服务器》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论