Oracle Linux 8:git (ELSA-2023-2859)

high Nessus 插件 ID 176292

简介

远程 Oracle Linux 主机缺少一个或多个安全更新。

描述

远程 Oracle Linux 8 主机上安装的程序包受到 ELSA-2023-2859 公告中提及的多个漏洞的影响。

- 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 是一个开源、可扩展的分布式版本控制系统。 `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 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.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)

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2023-2859.html

插件详情

严重性: High

ID: 176292

文件名: oraclelinux_ELSA-2023-2859.nasl

版本: 1.0

类型: local

代理: unix

发布时间: 2023/5/24

最近更新时间: 2023/5/24

支持的传感器: Frictionless Assessment Agent, Nessus Agent, 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

风险因素: High

基本分数: 8.8

时间分数: 8.2

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

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

CVSS 分数来源: CVE-2022-39260

漏洞信息

CPE: cpe:/o:oracle:linux:8, p-cpe:/a:oracle:linux:git, p-cpe:/a:oracle:linux:git-all, p-cpe:/a:oracle:linux:git-core, p-cpe:/a:oracle:linux:git-core-doc, p-cpe:/a:oracle:linux:git-credential-libsecret, p-cpe:/a:oracle:linux:git-daemon, p-cpe:/a:oracle:linux:git-email, p-cpe:/a:oracle:linux:git-gui, p-cpe:/a:oracle:linux:git-instaweb, p-cpe:/a:oracle:linux:git-subtree, p-cpe:/a:oracle:linux:git-svn, p-cpe:/a:oracle:linux:gitk, p-cpe:/a:oracle:linux:gitweb, p-cpe:/a:oracle:linux:perl-git, p-cpe:/a:oracle:linux:perl-git-svn

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/5/23

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

参考资料信息

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