Vulnerabilities in Git 2.0 SP9 Trick Git into local clone optimization with specially-crafted repository. Path traversal vulnerability in git apply.
Reporter | Title | Published | Views | Family All 199 |
---|---|---|---|---|
Tenable Nessus | EulerOS 2.0 SP9 : git (EulerOS-SA-2023-1841) | 13 May 202300:00 | – | nessus |
Tenable Nessus | Fedora 36 : git (2023-2b3acb6cfd) | 22 Feb 202300:00 | – | nessus |
Tenable Nessus | GitLab < 15.6.8 (CRITICAL-SECURITY-RELEASE-GITLAB-15-8-2-RELEASED) | 2 Jan 202400:00 | – | nessus |
Tenable Nessus | Amazon Linux AMI : git (ALAS-2023-1700) | 7 Mar 202300:00 | – | nessus |
Tenable Nessus | Ubuntu 16.04 ESM / 18.04 LTS / 20.04 LTS / 22.04 LTS : Git vulnerabilities (USN-5871-1) | 15 Feb 202300:00 | – | nessus |
Tenable Nessus | Debian DSA-5357-1 : git - security update | 24 Feb 202300:00 | – | nessus |
Tenable Nessus | Amazon Linux 2023 : git, git-all, git-core (ALAS2023-2023-113) | 21 Mar 202300:00 | – | nessus |
Tenable Nessus | EulerOS 2.0 SP11 : git (EulerOS-SA-2023-2289) | 4 Jul 202300:00 | – | nessus |
Tenable Nessus | Fedora 37 : git (2023-5b372318ff) | 15 Feb 202300:00 | – | nessus |
Tenable Nessus | Amazon Linux 2 : git (ALAS-2023-1984) | 7 Mar 202300:00 | – | nessus |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(175498);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/09/11");
script_cve_id("CVE-2023-22490", "CVE-2023-23946");
script_name(english:"EulerOS 2.0 SP9 : git (EulerOS-SA-2023-1866)");
script_set_attribute(attribute:"synopsis", value:
"The remote EulerOS host is missing multiple security updates.");
script_set_attribute(attribute:"description", value:
"According to the versions of the git packages installed, the EulerOS installation on the remote host is affected by the
following vulnerabilities :
- Git is a revision control system. Using a specially-crafted repository, Git prior to versions 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, and 2.30.8 can be tricked into using its
local clone optimization even when using a non-local transport. Though Git will abort local clones whose
source `$GIT_DIR/objects` directory contains symbolic links, the `objects` directory itself may still be a
symbolic link. These two may be combined to include arbitrary files based on known paths on the victim's
filesystem within the malicious repository's working copy, allowing for data exfiltration in a similar
manner as CVE-2022-39253. A fix has been prepared and will appear in 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 and v2.30.8. If upgrading is impractical, two short-term
workarounds are available. Avoid cloning repositories from untrusted sources with `--recurse-submodules`.
Instead, consider cloning repositories without recursively cloning their submodules, and instead run `git
submodule update` at each layer. Before doing so, inspect each new `.gitmodules` file to ensure that it
does not contain suspicious module URLs. (CVE-2023-22490)
- Git, a revision control system, is vulnerable to path traversal prior to versions 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, and 2.30.8. By feeding a crafted input to `git apply`, a
path outside the working tree can be overwritten as the user who is running `git apply`. A fix has been
prepared and will appear in 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, and v2.30.8. As a workaround, use `git apply --stat` to inspect a patch before applying; avoid
applying one that creates a symbolic link and then creates a file beyond the symbolic link.
(CVE-2023-23946)
Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security
advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional
issues.");
# https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2023-1866
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?1b64a2b4");
script_set_attribute(attribute:"solution", value:
"Update the affected git packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:C/A:N");
script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2023-23946");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2023/02/14");
script_set_attribute(attribute:"patch_publication_date", value:"2023/05/09");
script_set_attribute(attribute:"plugin_publication_date", value:"2023/05/13");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:git");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:git-help");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:perl-Git");
script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Huawei Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
script_exclude_keys("Host/EulerOS/uvp_version");
exit(0);
}
include("rpm.inc");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var _release = get_kb_item("Host/EulerOS/release");
if (isnull(_release) || _release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
var uvp = get_kb_item("Host/EulerOS/uvp_version");
if (_release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP9");
var sp = get_kb_item("Host/EulerOS/sp");
if (isnull(sp) || sp !~ "^(9)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP9");
if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP9", "EulerOS UVP " + uvp);
if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu && "x86" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "x86" >!< cpu) audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
var flag = 0;
var pkgs = [
"git-2.23.0-12.h12.eulerosv2r9",
"git-help-2.23.0-12.h12.eulerosv2r9",
"perl-Git-2.23.0-12.h12.eulerosv2r9"
];
foreach (var pkg in pkgs)
if (rpm_check(release:"EulerOS-2.0", sp:"9", reference:pkg)) flag++;
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, "git");
}
Transform Your Security Services
Elevate your offerings with Vulners' advanced Vulnerability Intelligence. Contact us for a demo and discover the difference comprehensive, actionable intelligence can make in your security strategy.
Book a live demo