Amazon Linux 2023:git、git-all、git-core (ALAS2023-2023-065)

critical Nessus 插件 ID 173170

简介

远程 Amazon Linux 2023 主机缺少安全更新。

描述

因此,它受到公告 ALAS2023-2023-065 中提及的多个漏洞影响。

- Git 是分布式版本控制系统。 gitattributes 是一种允许定义路径属性的机制。可通过将 `.gitattributes` 文件添加到存储库来定义这些属性,该文件包含一组文件模式以及应为匹配此模式的路径设置的属性。解析 gitattributes 时,当存在大量路径模式、大量单一模式的属性或声明的属性名称很大时,可能会发生多个整数溢出。这些溢出可通过构建的 `.gitattributes` 文件触发,该文件可能是提交历史记录的一部分。从文件解析 gitattributes 时,Git 会静默拆分超过 2KB 的行,但从索引解析它们时则不会。因此,失败模式取决于文件是否存在于工作树、索引或两者中。此整数溢出可导致任意堆读取和写入,从而可能导致远程代码执行。已在 2023 年 1 月 17 日发布的版本中修补该问题,恢复到 v2.30.7。建议用户升级。目前尚无针对此问题的解决方案。(CVE-2022-23521)

- 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 是分布式版本控制系统。 `git log` 可以使用其 `--format` 说明符以任意格式显示提交。此功能也会通过 `export-subst` gitattribute 暴露给 `git archive`。处理填充运算符时,在“pretty.c”中存在整数溢出:: format_and_pad_commit()`,其中 `size_t` 被错误地存储为 `int`,然后作为偏移添加到 `memcpy()`。运行调用提交格式化机制的命令的用户可直接触发此溢出(例如,`git log --format=...`)。它也可以借助 git archive 通过 export-subst 机制间接触发,该机制在 git 存档期间扩展存储库内文件的格式说明符。此整数溢出可导致任意堆写入,从而可能导致任意代码执行。已在 2023 年 1 月 17 日发布的版本中修补该问题,恢复到 v2.30.7。建议用户升级。无法升级的用户应在不受信任的存储库中禁用 `git archive`。如果通过 `git daemon` 暴露 git 存档,请通过运行 `git config --global daemon.uploadArch false` 将其禁用。 (CVE-2022-41903)

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

解决方案

运行“dnf update git--releasever=2023.0.20230222”以更新系统。

另见

https://alas.aws.amazon.com/AL2023/ALAS-2023-065.html

https://alas.aws.amazon.com/cve/html/CVE-2022-23521.html

https://alas.aws.amazon.com/cve/html/CVE-2022-24765.html

https://alas.aws.amazon.com/cve/html/CVE-2022-29187.html

https://alas.aws.amazon.com/cve/html/CVE-2022-39253.html

https://alas.aws.amazon.com/cve/html/CVE-2022-39260.html

https://alas.aws.amazon.com/cve/html/CVE-2022-41903.html

https://alas.aws.amazon.com/faqs.html

插件详情

严重性: Critical

ID: 173170

文件名: al2023_ALAS2023-2023-065.nasl

版本: 1.1

类型: local

代理: unix

发布时间: 2023/3/21

最近更新时间: 2023/4/20

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Medium

基本分数: 6.9

时间分数: 5.7

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

CVSS 分数来源: CVE-2022-29187

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9.1

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

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

CVSS 分数来源: CVE-2022-41903

漏洞信息

CPE: p-cpe:/a:amazon:linux:git, p-cpe:/a:amazon:linux:git-all, p-cpe:/a:amazon:linux:git-core, p-cpe:/a:amazon:linux:git-core-debuginfo, p-cpe:/a:amazon:linux:git-core-doc, p-cpe:/a:amazon:linux:git-credential-libsecret, p-cpe:/a:amazon:linux:git-credential-libsecret-debuginfo, p-cpe:/a:amazon:linux:git-cvs, p-cpe:/a:amazon:linux:git-daemon, p-cpe:/a:amazon:linux:git-daemon-debuginfo, p-cpe:/a:amazon:linux:git-debuginfo, p-cpe:/a:amazon:linux:git-debugsource, p-cpe:/a:amazon:linux:git-email, p-cpe:/a:amazon:linux:git-gui, p-cpe:/a:amazon:linux:git-instaweb, p-cpe:/a:amazon:linux:git-p4, p-cpe:/a:amazon:linux:git-subtree, p-cpe:/a:amazon:linux:git-svn, p-cpe:/a:amazon:linux:gitk, p-cpe:/a:amazon:linux:gitweb, p-cpe:/a:amazon:linux:perl-git, p-cpe:/a:amazon:linux:perl-git-svn, cpe:/o:amazon:linux:2023

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/2/17

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

参考资料信息

CVE: CVE-2022-23521, CVE-2022-24765, CVE-2022-29187, CVE-2022-39253, CVE-2022-39260, CVE-2022-41903