Fedora 25 : git (2017-66aa5d1d33)

2017-10-18T00:00:00
ID FEDORA_2017-66AA5D1D33.NASL
Type nessus
Reporter This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
Modified 2017-10-18T00:00:00

Description

These releases are about hardening git shell that is used on servers against an unsafe user input, which git cvsserver copes with poorly.

From the release notes :

                                        
                                            #%NASL_MIN_LEVEL 80502
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were  
# extracted from Fedora Security Advisory FEDORA-2017-66aa5d1d33.
#

include("compat.inc");

if (description)
{
  script_id(103897);
  script_version("3.4");
  script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");

  script_xref(name:"FEDORA", value:"2017-66aa5d1d33");

  script_name(english:"Fedora 25 : git (2017-66aa5d1d33)");
  script_summary(english:"Checks rpm output for the updated package.");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Fedora host is missing a security update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"These releases are about hardening `git shell` that is used on servers
against an unsafe user input, which `git cvsserver` copes with poorly.

From the release notes :

  - 'git cvsserver' no longer is invoked by 'git shell' by
    default, as it is old and largely unmaintained.

  - Various Perl scripts did not use safe_pipe_capture()
    instead of backticks, leaving them susceptible to
    end-user input. They have been corrected. Credits go to
    joernchen <joernchen@phenoelit.de> for finding the
    unsafe constructs in 'git cvsserver', and to Jeff King
    at GitHub for finding and fixing instances of the same
    issue in other scripts.

References :

<http://seclists.org/oss-sec/2017/q3/534>
<https://public-inbox.org/git/xmqqy3p29ekj.fsf@gitster.mtv.corp.google
.com/>

Note that Tenable Network Security has extracted the preceding
description block directly from the Fedora update system website.
Tenable has attempted to automatically clean and format it as much as
possible without introducing additional issues."
  );
  # http://seclists.org/oss-sec/2017/q3/534>
  script_set_attribute(
    attribute:"see_also",
    value:"https://seclists.org/oss-sec/2017/q3/534>"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bodhi.fedoraproject.org/updates/FEDORA-2017-66aa5d1d33"
  );
  # https://public-inbox.org/git/xmqqy3p29ekj.fsf@gitster.mtv.corp.google.com/>
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?dedeed43"
  );
  script_set_attribute(attribute:"solution", value:"Update the affected git package.");
  script_set_attribute(attribute:"risk_factor", value:"High");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fedoraproject:fedora:git");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:fedoraproject:fedora:25");

  script_set_attribute(attribute:"vuln_publication_date", value:"2017/10/11");
  script_set_attribute(attribute:"patch_publication_date", value:"2017/10/11");
  script_set_attribute(attribute:"plugin_publication_date", value:"2017/10/18");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
  script_family(english:"Fedora Local Security Checks");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list");

  exit(0);
}


include("audit.inc");
include("global_settings.inc");
include("rpm.inc");


if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
release = get_kb_item("Host/RedHat/release");
if (isnull(release) || "Fedora" >!< release) audit(AUDIT_OS_NOT, "Fedora");
os_ver = pregmatch(pattern: "Fedora.*release ([0-9]+)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Fedora");
os_ver = os_ver[1];
if (! preg(pattern:"^25([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Fedora 25", "Fedora " + os_ver);

if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);


cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Fedora", cpu);


flag = 0;
if (rpm_check(release:"FC25", reference:"git-2.9.5-2.fc25")) flag++;


if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_HOLE,
    extra      : rpm_report_get()
  );
  exit(0);
}
else
{
  tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "git");
}