可绕过身份验证,GitHub企业服务器曝满分漏洞,附PoC

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

近日,安全研究人员披露了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实例的安全性,通过加密认证过程中发送的消息来保护用户信息。

🏷️

标签

➡️

继续阅读