Slackware Linux 15.0 / 当前 git 多个漏洞 (SSA:2024-136-02)

critical Nessus 插件 ID 197168

简介

远程 Slackware Linux 主机缺少 git 的安全更新。

描述

远程主机上安装的 git 版本低于 2.39.4/2.45.1。因此,如公告 SSA:2024-136-02 所述,其会受到多个漏洞影响。

- Git 是一个版本控制系统。在低于版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 的版本中,带有子模块的存储库可能会被伪造,从而利用 Git 中的一个漏洞,诱骗 Git 将文件写入“.git/”目录中,而非子模块的工作树中。这样就可以编写一个钩子,在克隆操作仍在运行时执行,让用户没有机会检查正在执行的代码。已在版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 修复此问题。如果在 Git 中禁用符号链接支持(例如通过“git config --global core.symlinks false”),上述攻击将不会生效。和往常一样,最好避免从不受信任的来源克隆存储库。(CVE-2024-32002)

- Git 是一个版本控制系统。在低于版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 的版本中,攻击者可准备本地存储库,其在克隆时会在操作期间执行任意代码。已在版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 修复此问题。变通方案是避免从不受信任的来源克隆存储库。
(CVE-2024-32004)

- Git 是一个版本控制系统。在低于版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 的版本中,当源存储库和目标存储库存在于同一磁盘上时,本地克隆可能会以将文件硬链接到目标存储库的对象数据库中而告终。如果源存储库为其他用户所有,则不受信任的用户可能会随时重写这些硬链接文件。克隆本地存储库将导致 Git 将源存储库的文件复制或硬链接到目标存储库。与执行适当的克隆相比,这可显着加快此类本地克隆的速度,并且可以节省磁盘空间和计算时间。当克隆位于非当前用户的其他用户所拥有的同一磁盘上的存储库时,我们也会以创建此类硬链接而告终。这些文件将继续由可能不受信任的用户拥有和控制,他们将来可以随意重写。已在版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 修复此问题。(CVE-2024-32020)

- Git 是一个版本控制系统。在低于版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 的版本中,通过文件系统克隆包含符号链接的本地源存储库时,Git 可能会创建指向任意用户可读文件的硬链接, “objects/”目录中的目标存储库相同的文件系统。通过文件系统克隆本地存储库可能会在目标 Git 存储库的“objects/”目录中创建指向同一文件系统中任意用户拥有的文件的硬链接。通过文件系统克隆存储库时(未明确指定“file://”协议或“--no-local”),将使用针对本地克隆的优化,包括尝试硬链接对象文件,而非复制对象文件。尽管代码包含针对源存储库中符号链接的检查(在修复 CVE-2022-39253 期间添加),但这些检查仍可能争用,因为硬链接操作最终会跟随符号链接。如果文件系统上的对象在检查期间显示为文件,在操作期间显示为符号链接,则允许攻击者绕过检查并在目标对象目录中创建硬链接到任意用户可读的文件。已在版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 修复此问题。(CVE-2024-32021)

- Git 是一个版本控制系统。Git 项目建议避免在不受信任的存储库中工作,而是首先使用“git clone --no-local”将其克隆以获得干净的副本。Git 具有特定的保护措施,确保该操作安全(即使使用不受信任的源存储库),但存在漏洞允许绕过这些保护措施。CVE-2024-32004 介绍了在克隆其他用户拥有的本地存储库时的此漏洞。但在某些情况下,仅修复 CVE-2024-32004 的补丁还不够:例如,在获取包含 Git 存储库完整副本的“.zip”文件时,默认情况下不应确保其安全,因为挂钩等功能可被篡改配置为在该存储库的上下文中运行。已在版本 2.45.1、2.44.1、2.43.4、2.42.2、2.41.1、2.40.2 和 2.39.4 修复此问题。变通方案是避免在通过来自不受信任来源的存档获得的存储库中使用 Git。(CVE-2024-32465)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

升级受影响的 git 程序包。

另见

http://www.nessus.org/u?0fd8b8d0

插件详情

严重性: Critical

ID: 197168

文件名: Slackware_SSA_2024-136-02.nasl

版本: 1.1

类型: local

发布时间: 2024/5/16

最近更新时间: 2024/5/20

支持的传感器: Nessus

风险信息

VPR

风险因素: Critical

分数: 9.2

CVSS v2

风险因素: High

基本分数: 7.6

时间分数: 6

矢量: CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:C

CVSS 分数来源: CVE-2024-32002

CVSS v3

风险因素: Critical

基本分数: 9

时间分数: 8.1

矢量: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:P/RL:O/RC:C

漏洞信息

CPE: cpe:/o:slackware:slackware_linux, p-cpe:/a:slackware:slackware_linux:git, cpe:/o:slackware:slackware_linux:15.0

必需的 KB 项: Host/local_checks_enabled, Host/Slackware/release, Host/Slackware/packages

可利用: true

易利用性: Exploits are available

补丁发布日期: 2024/5/15

漏洞发布日期: 2024/5/14

参考资料信息

CVE: CVE-2024-32002, CVE-2024-32004, CVE-2024-32020, CVE-2024-32021, CVE-2024-32465