GitHub Enterprise Server身份验证绕过漏洞CVE-2024-9487
GitHub Enterprise Server(GHES)是用于企业内软件开发的自托管平台,作为GitHub自承载版本将GHES作为独立虚拟设备分发。
企业开他团队可以利用 GitHub Enterprise Server 通过Git 版本控制、强大的API、生产力和协作工具以及集成进行构建和发布软件。
一、基本情况
通过GHES提供的功能,企业可从增强的控制中获益并避免与公有云相关问题,开发人员可从GitHub中熟悉的功能和工作流中受益。
2024年10月14日,GitHub Enterprise Server中修复了一个身份验证绕过漏洞,漏洞追踪为CVE-2024-9487,漏洞的CVSS评分9.5。
GitHub Enterprise Server中存在的 CVE-2024-9487 高危漏洞可能允许未经授权用户通过SAML SSO身份验证绕过进行配置和访问。
二、漏洞分析
CVE-2024-9487漏洞是GitHub Enterprise Server 的 SAML 单点登录(SSO)的加密断言功能中存在不正确的加密签名验证导致的。
这里需要特别提醒和注意的是,加密断言功能作为 GitHub Enterprise Server 提供的可选功能,在默认状态下是处于未启用状态的。
当目标实例启用SAML SSO和加密断言时,可直接网络访问目标GHES实例的攻击者即可篡改/伪造签名的SAML响应或元数据文件。
利用篡改/伪造签名的SAML响应或元数据文件,利用CVE-2024-9487漏洞绕过身份验证执行未经授权的用户配置或访问目标实例。
三、漏洞影响
GitHub Enterprise Server 3.11版本< 3.11.16
GitHub Enterprise Server 3.12版本< 3.12.10
GitHub Enterprise Server 3.13版本< 3.13.5
GitHub Enterprise Server 3.14版本< 3.14.2
四、修复建议
官方已发布更新,受影响用户可升级到 GitHub Enterprise Server 3.11.16、3.12.10、3.13.5、3.14.2 或更高版本。
如果暂时无法升级可以通过缓解方式解决:开发者可通过禁用SAML SSO认证或使用不带加密断言 SAML SSO 认证来缓解该漏洞。
也可以选择通过LDAP、个人访问令牌、SSH密钥、GitHub Apps、OAuth 2.0 等方式进行认证,但最好是直接升级避免漏洞被利用。