GitLab修补GitHub导入功能中的RCE错误CVE-2022-2884

GitLab中的一个漏洞允许攻击者对GitLab服务器进行各种攻击,包括云托管的GitLab.com平台。该漏洞由安全研究员“yvvdwf”报告,是由GitLab从GitHub导入数据的方式引起的,该漏洞可被利用在主机服务器上运行命令。

GitLab使用Octokit,这是一个提供从GitHub API导入数据的接口的库。为了检索和呈现其结果,Octokit使用HTTP客户端库Sawyer。

然而,GitLab直接使用了Octokit返回的Sawyer结果,没有对其进行清理,这为插入恶意命令提供了机会。

Yvvdwf发现导入函数中使用的参数之一容易对GitLab的Redis数据库进行命令注入。

在独立的GitLab安装中,攻击者可以利用命令注入漏洞从Redis升级到Bash并将命令发送到操作系统。任何潜在的攻击者都可以使用主机进程的权限对主机进行远程代码执行(RCE)访问。

虽然RCE漏洞在GitLab.com上不起作用,但yvvdwf能够使用其他Redis命令将数据从GitLab.com复制到具有公共IP的独立服务器。他们还能够通过相同的机制毒化GitLab项目并使它们无法访问。

拥有独立GitLab安装和API访问令牌的攻击者可以利用该漏洞窃取信息、注入恶意代码,并对GitLab.com执行其他恶意操作。

该漏洞在通用漏洞评分系统中被分配为CVE-2022-2884,其关键基础分数为9.9。

GitLab已经在GitLab.com中修复了该问题,并为GitLab社区版和企业版发布了关键安全版本。

建议所有用户升级他们的GitLab安装。对于无法立即升级的组织,GitLab建议他们通过禁用导入来保护他们的安装,直到他们可以修补他们的系统。

虽然GitLab用户可以通过使用云或更新的平台自托管版本来确保安全,但其他使用Octakit与GitHub交互的服务应该保持警惕,并确保他们对传递和接收的数据执行正确的检查图书馆。

发表评论

评论已关闭。

相关文章