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

high Nessus 插件 ID 176337

简介

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

描述

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

- 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)

- Git 是一个版本控制系统。在版本 2.30.9、2.31.8、2.32.7、2.33.8、2.34.8、2.35.8、2.36.6、2.37.7、2.38.5、2.39.3 和 2.40.1 之前,攻击者会使用子模块 URL 长度超过 1024 个字符的特别构建的“.gitmodules”文件来利用“config.c: : git_config_copy_or_rename_section_in_file()”中的缺陷。在尝试移除与该子模块关联的配置部分时,攻击者可利用此缺陷将任意配置注入用户的“$GIT_DIR/config”中。当攻击者注入指定要运行的可执行文件的配置值(如“core.pager”、“core.editor”、“core.sshCommand”等)时,这可能会导致远程代码执行。版本 2.30.9、2.31.8、2.32.7、2.33.8、2.34.8、2.35.8、2.36.6、2.37.7、2.38.5、2.39.3 和 2.40.1 中均有提供修复程序。变通方案是避免在不受信任的存储库上运行“git submodule deinit”,或者避免在未事先检查“$GIT_DIR/config”中的任何子模块部分的情况下运行“git submodule deinit”。(CVE-2023-29007)

- Git 是一个版本控制系统。在 2.30.9、2.31.8、2.32.7、2.33.8、2.34.8、2.35.8、2.36.6、2.37.7、2.38.5、2.39.3 和 2.40.1 版本之前,攻击者可以通过将特别构建的输入提供给“git apply --reject”,来使用部分受控的内容(与给定补丁中被拒绝的 hunk 对应)覆盖工作树之外的路径。版本 2.30.9、2.31.8、2.32.7、2.33.8、2.34.8、2.35.8、2.36.6、2.37.7、2.38.5、2.39.3 和 2.40.1 中均有提供修复程序。变通方案是在应用来自不受信任来源的补丁时,避免将“git apply”与“--reject”一起使用。在应用前,请使用“git apply --stat”检查补丁;避免应用会造成冲突(即存在与“*.rej”文件对应的链接)的补丁。(CVE-2023-25652)

- 在 Git for Windows(Git 的 Windows 端口)中,安装程序并未附带任何本地化消息。因此,Git 应该完全不会对消息进行本地化处理,并且会跳过 gettext 初始化。
但由于 MINGW-packages 中的变更,“gettext()”函数的隐式初始化将不再使用运行时前缀,而是改用硬编码路径“C: \mingw64\share\locale”来查找本地化消息。并且,由于任何经过身份验证的用户都有权在“C: \”(并且“C: \mingw64”通常不存在)中创建文件夹,这使得低权限用户有可能将虚假消息放入此位置,此时,“git.exe”会在版本 2.40.1 中获取此消息。此漏洞相对难以利用,并且需要社交工程。例如,在克隆结束时,攻击者可能会恶意修改合法消息,以此要求用户将其 Web 浏览器定向到恶意网站,并且用户可能认为这则消息来自 Git 并且是合法的。但是,这确实需要攻击者进行本地写入访问,因此这则消息成为攻击载体的可能性降低。 2.40.1 版包含针对此问题的补丁。但有一些变通方案。不使用共享帐户在 Windows 计算机上工作,或者创建一个“C: \mingw64”文件夹并将其留空。具有管理权限的用户可以移除在 `C: \`. (CVE-2023-25815)

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

解决方案

更新受影响的程序包。

另见

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

插件详情

严重性: High

ID: 176337

文件名: oraclelinux_ELSA-2023-3246.nasl

版本: 1.0

类型: local

代理: unix

发布时间: 2023/5/24

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

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.8

时间分数: 6.1

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

CVSS 分数来源: CVE-2023-25652

CVSS v3

风险因素: High

基本分数: 7.8

时间分数: 7

矢量: CVSS:3.0/AV:L/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-2023-29007

漏洞信息

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/local_checks_enabled, Host/RedHat/release, Host/RedHat/rpm-list, Host/OracleLinux

可利用: true

易利用性: Exploits are available

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

漏洞发布日期: 2023/2/14

参考资料信息

CVE: CVE-2023-22490, CVE-2023-23946, CVE-2023-25652, CVE-2023-25815, CVE-2023-29007