RHEL 8:git (RHSA-2024: 0407)

high Nessus 插件 ID 189543

简介

远程 Red Hat 主机缺少一个或多个 git 安全更新。

描述

远程 Redhat Enterprise Linux 8 主机上安装的程序包受到 RHSA-2024: 0407 公告中提及的多个漏洞影响。

- Git for Windows 是 Git 的一个分支,其中包含 Windows 专用补丁。此漏洞会影响在多用户计算机上工作的用户,其中不受信任的相关方对同一硬盘具有写入权限。不受信任的相关方可以创建文件夹 `C: \.git`,当搜索 Git 目录时,本应在存储库外部运行的 Git 操作可访问该文件夹。然后,Git 会应用上述 Git 目录中的任何配置。设置“GIT_PS1_SHOWDIRTYSTATE”的 Git Bash 用户也容易受到攻击,这些用户可以仅通过启动 PowerShell 来安装 posh-gitare。Visual Studio 等 IDE 用户容易受到影响的原因在于,这类用户在创建新项目时就可以读取并应用 `C: \.git\config` 中指定的配置。Git for Microsoft 分支用户容易在启动 Git Bash 时受到攻击。此问题已在 Git for Windows 2.35.2 版本中得到解决。对于无法升级的用户,可以在所有运行 Git 命令的驱动器上创建文件夹 `.git`,并从这些文件夹中删除读取/写入访问权限来解决此问题。
或者,可以定义或扩展 `GIT_CEILING_DIRECTORIES` 以涵盖用户配置文件的 _parent_ 目录,例如 `C: \Users`(如果用户配置文件位于 `C: \Users\my-user-name` 中)。(CVE-2022-24765)

- Git 是一个分布式版本控制系统。低于 2.37.1、2.36.2、2.35.4、2.34.4、2.33.4、2.32.3、2.31.4 和 2.30.5 版本的 Git 在所有平台中都容易受到特权提升漏洞的影响。没有防备的用户仍可能受到 CVE-2022-24765 中所报告问题的影响,例如,当以根用户身份导航至其拥有的共享 tmp 目录时,攻击者可在此创建 git 存储库。 2.37.1、2.36.2、2.35.4、2.34.4、2.33.4、2.32.3、2.31.4 和 2.30.5 版包含针对此问题的补丁。若要避免受到示例中所述漏洞的影响,最简单的方法是避免以根用户身份(或 Windows 中的管理员身份)运行 git,并且必要时应将其使用率降至最低。虽然没有通用的变通方案,但可以通过删除任何已经存在的此类存储库并以根用户身份创建一个存储库以阻止任何未来的攻击,从而增强系统抵御示例中所述漏洞的能力。(CVE-2022-29187)

Git 是一种可扩展的开源分布式版本控制系统。 2.30.6、2.31.5、2.32.4、2.33.5、2.34.5、2.35.5、2.36.3 和 2.37.4 之前的版本容易将敏感信息泄露给恶意攻击者。执行本地克隆(即克隆的源和目标位于同一卷上)时,Git 通过创建指向源内容的硬链接或复制它们(前提是已通过“--no-hardlinks”禁用硬链接)将源内容的“$GIT_DIR/objects”库复制到目标位置。恶意攻击者可诱使受害者通过指向受害者计算机上敏感信息的符号链接来克隆存储库。这可以通过让受害者在同一台机器上克隆恶意存储库来完成,或者让他们通过任何来源的子模块克隆一个嵌入为裸露存储库的恶意存储库,前提是他们使用 `--recurse-submodules` 选项克隆。
Git 不在 `$GIT_DIR/objects` 目录中创建符号链接。已在 v2.30.x 到 2022 年 10 月 18 日发布的版本中修补此问题。潜在的变通方案:避免在共享机器上使用 `--local` 优化克隆不受信任的库,方法是向 `git clone` 传送 `--no-local` 选项或克隆使用 `file: //` 方案中的网址。或者,避免使用 `--recurse-submodules` 或运行 `git config --global protocol.file.allow user` 从不受信任的来源克隆存储库。 (CVE-2022-39253)

- Git 是一个开源、可扩展的分布式版本控制系统。 `git shell` 是一种受限的登录 shell,可用于通过 SSH 实现 Git 的推送/拉取功能。在 2.30.6、2.31.5、2.32.4、2.33.5、2.34.5、2.35.5、2.36.3 和 2.37.4 之前的版本中,将命令参数拆分为数组的函数未正确使用 `int` 来表示数组中的条目,允许恶意参与者故意溢出返回值,导致任意堆写入。由于系统随后将生成的数组传递给“execv()”,因此可以利用此攻击在受害计算机上实现远程代码执行。请注意,受害者必须首先允许将 `git shell` 作为登录 shell 进行访问,以便容易受到此攻击。此问题已在 2.30.6、2.31.5、2.32.4、2.33.5、2.34.5、2.35.5、2.36.3 和 2.37.4 版本中得到修复,建议用户升级到最新版本。
通过远程登录禁用“git shell”访问是一种可行的短期变通方案。(CVE-2022-39260)

- Git 是一个版本控制系统。使用特制的存储库时,低于 2.39.2、2.38.4、2.37.6、2.36.5、2.35.7、2.34.7、2.33.7、2.32.6、2.31.7 和 2.30.8 版本的 Git 可被诱骗使用其本地克隆优化,即便在使用非本地传输时。尽管 Git 将中止源 `$GIT_DIR/objects` 目录包含符号链接的本地克隆,`objects` 目录本身可能仍然是一个符号链接。这两者可以结合起来,根据受害者文件系统上的已知路径,在恶意存储库的工作副本中包含任意文件,从而允许以与 CVE-2022-39253 类似的方式进行数据泄露。已准备好补丁,并将出现在 v2.39.2、v2.38.4、v2.37.6、v2.36.5、v2.35.7、v2.34.7、v2.33.7、v2.32.6、v2.31.7 和 v2.30.8 中。如果升级不可行,有两个短期变通方案可用。避免从带 `--recurse-submodules` 的不受信任的来源克隆存储库。
相反,考虑在不递归克隆其子模块的情况下克隆存储库,并在每一层运行“git submodule update”。执行此操作之前,请检查每个新的“.gitmodules”文件以确保其中不包含可疑的模块 URL。 (CVE-2023-22490)

- Git(修订控制系统)低于 2.39.2、2.38.4、2.37.6、2.36.5、2.35.7、2.34.7、2.33.7、2.32.6、2.31.7 和 2.30.8之前的版本易受路径遍历影响。通过向“git apply”提供特制的输入,可以运行“git apply”的用户身份覆盖工作树之外的路径。已准备好补丁,并将出现在 v2.39.2、v2.38.4、v2.37.6、v2.36.5、v2.35.7、v2.34.7、v2.33.7、v2.32.6、v2.31.7 和 v2.30.8 中。变通方案是,使用 `git apply --stat` 在应用前检查修补程序;避免应用会创建符号链接然后在符号链接之外创建文件的链接。
(CVE-2023-23946)

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

解决方案

更新 RHEL git 程序包,依据 RHSA-2024: 0407 中的指南。

另见

http://www.nessus.org/u?b66e2875

https://access.redhat.com/security/updates/classification/#moderate

https://bugzilla.redhat.com/show_bug.cgi?id=2073414

https://bugzilla.redhat.com/show_bug.cgi?id=2107439

https://bugzilla.redhat.com/show_bug.cgi?id=2137422

https://bugzilla.redhat.com/show_bug.cgi?id=2137423

https://bugzilla.redhat.com/show_bug.cgi?id=2168160

https://bugzilla.redhat.com/show_bug.cgi?id=2168161

https://access.redhat.com/errata/RHSA-2024:0407

插件详情

严重性: High

ID: 189543

文件名: redhat-RHSA-2024-0407.nasl

版本: 1.1

类型: local

代理: unix

发布时间: 2024/1/25

最近更新时间: 2024/4/28

支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Medium

基本分数: 6.9

时间分数: 5.4

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

CVSS 分数来源: CVE-2022-29187

CVSS v3

风险因素: High

基本分数: 8.8

时间分数: 7.9

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

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

CVSS 分数来源: CVE-2022-39260

漏洞信息

CPE: cpe:/o:redhat:rhel_eus:8.6, p-cpe:/a:redhat:enterprise_linux:git, p-cpe:/a:redhat:enterprise_linux:git-all, p-cpe:/a:redhat:enterprise_linux:git-core, p-cpe:/a:redhat:enterprise_linux:git-core-doc, p-cpe:/a:redhat:enterprise_linux:git-credential-libsecret, p-cpe:/a:redhat:enterprise_linux:git-daemon, p-cpe:/a:redhat:enterprise_linux:git-email, p-cpe:/a:redhat:enterprise_linux:git-gui, p-cpe:/a:redhat:enterprise_linux:git-instaweb, p-cpe:/a:redhat:enterprise_linux:git-subtree, p-cpe:/a:redhat:enterprise_linux:git-svn, p-cpe:/a:redhat:enterprise_linux:gitk, p-cpe:/a:redhat:enterprise_linux:gitweb, p-cpe:/a:redhat:enterprise_linux:perl-git, p-cpe:/a:redhat:enterprise_linux:perl-git-svn

必需的 KB 项: Host/local_checks_enabled, Host/RedHat/release, Host/RedHat/rpm-list, Host/cpu

可利用: true

易利用性: Exploits are available

补丁发布日期: 2024/1/25

漏洞发布日期: 2022/4/12

参考资料信息

CVE: CVE-2022-24765, CVE-2022-29187, CVE-2022-39253, CVE-2022-39260, CVE-2023-22490, CVE-2023-23946

CWE: 22, 402, 427, 59, 787

RHSA: 2024:0407