可绕过身份验证,GitHub企业服务器曝满分漏洞,附PoC
内容提要
近日,安全研究人员披露了GitHub企业服务器(GHES)的关键漏洞,允许未经授权的攻击者访问GHES实例。漏洞影响所有GHES 3.13.0之前的版本,并在3.9.15、3.10.12、3.11.10和3.12.4版本中得到修复。GitHub已推出修复措施,用户可将GHES更新到已修补的版本。如果无法立即更新,可暂时禁用SAML认证或加密断言功能作为临时缓解措施。该漏洞利用了GHES处理加密的SAML声明的方式中的一个缺陷,可能允许未经授权的攻击者获得对GHES实例的完全管理控制权。
延伸解读
漏洞影响范围与触发条件
该漏洞仅影响启用了SAML SSO且同时开启加密断言功能的GHES实例。默认情况下加密断言未启用,因此多数未使用SAML SSO或未开启该功能的实例不受影响。受影响版本为3.13.0之前的所有版本,修复版本包括3.9.15、3.10.12、3.11.10和3.12.4。管理员应首先确认自身实例是否满足上述条件,再评估风险。
漏洞的严重性与潜在后果
CVE-2024-4985的CVSS得分为10.0,属于最高严重级别。攻击者无需预先认证即可利用伪造的SAML声明绕过身份验证,成功利用后可能获得GHES实例的完全管理控制权,进而访问所有数据并在系统上执行任意操作。尽管目前未发现大规模利用,但PoC已公开,风险不容忽视。
修复与临时缓解措施
GitHub已发布修复版本,用户应尽快升级至3.9.15、3.10.12、3.11.10、3.12.4或更高版本。若无法立即更新,可暂时禁用SAML认证或加密断言功能作为缓解措施。但需注意,禁用加密断言会降低实例安全性,因为该功能原本用于加密认证过程中IdP发送的消息。
Q&A
GitHub企业服务器的漏洞是什么?
GitHub企业服务器(GHES)存在一个关键漏洞(CVE-2024-4985),允许未经授权的攻击者在不需要预先认证的情况下访问GHES实例。
哪些版本的GHES受到此漏洞的影响?
所有GHES 3.13.0之前的版本都受到此漏洞的影响。
如何修复这个漏洞?
用户可以将GHES更新到已修补的版本(3.9.15、3.10.12、3.11.10、3.12.4或更高版本)来修复此漏洞。
如果无法立即更新GHES,应该怎么办?
如果无法立即更新,用户可以暂时禁用SAML认证或加密断言功能作为临时缓解措施。
攻击者如何利用这个漏洞?
攻击者可以创建一个包含正确用户信息的假SAML声明,GHES在处理时无法正确验证其签名,从而允许攻击者访问GHES实例。
加密断言在GHES中有什么作用?
加密断言提高GHES实例的安全性,通过加密认证过程中发送的消息来保护用户信息。