Lucene search

K
nessusThis script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.AL2_ALAS-2018-1020.NASL
HistoryMay 30, 2018 - 12:00 a.m.

Amazon Linux 2 : nghttp2 (ALAS-2018-1020)

2018-05-3000:00:00
This script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
39

nghttp2 version >= 1.10.0 and nghttp2 <= v1.31.0 contains an Improper Input Validation CWE-20 vulnerability in ALTSVC frame handling that can result in segmentation fault leading to denial of service. This attack appears to be exploitable via network client. This vulnerability appears to have been fixed in >= 1.31.1.
(CVE-2018-1000168)

#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Amazon Linux 2 Security Advisory ALAS-2018-1020.
#

include("compat.inc");

if (description)
{
  script_id(110193);
  script_version("1.3");
  script_cvs_date("Date: 2018/08/31 12:25:00");

  script_cve_id("CVE-2018-1000168");
  script_xref(name:"ALAS", value:"2018-1020");

  script_name(english:"Amazon Linux 2 : nghttp2 (ALAS-2018-1020)");
  script_summary(english:"Checks rpm output for the updated packages");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Amazon Linux 2 host is missing a security update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"nghttp2 version >= 1.10.0 and nghttp2 <= v1.31.0 contains an Improper
Input Validation CWE-20 vulnerability in ALTSVC frame handling that
can result in segmentation fault leading to denial of service. This
attack appears to be exploitable via network client. This
vulnerability appears to have been fixed in >= 1.31.1.
(CVE-2018-1000168)"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://alas.aws.amazon.com/AL2/ALAS-2018-1020.html"
  );
  script_set_attribute(
    attribute:"solution", 
    value:"Run 'yum update nghttp2' to update your system."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:libnghttp2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:libnghttp2-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:nghttp2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:nghttp2-debuginfo");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:amazon:linux:2");

  script_set_attribute(attribute:"patch_publication_date", value:"2018/05/24");
  script_set_attribute(attribute:"plugin_publication_date", value:"2018/05/30");
  script_end_attributes();

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/AmazonLinux/release", "Host/AmazonLinux/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/AmazonLinux/release");
if (isnull(release) || !strlen(release)) audit(AUDIT_OS_NOT, "Amazon Linux");
os_ver = pregmatch(pattern: "^AL(A|\d)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Amazon Linux");
os_ver = os_ver[1];
if (os_ver != "2")
{
  if (os_ver == 'A') os_ver = 'AMI';
  audit(AUDIT_OS_NOT, "Amazon Linux 2", "Amazon Linux " + os_ver);
}

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


flag = 0;
if (rpm_check(release:"AL2", cpu:"x86_64", reference:"libnghttp2-1.31.1-1.amzn2")) flag++;
if (rpm_check(release:"AL2", cpu:"x86_64", reference:"libnghttp2-devel-1.31.1-1.amzn2")) flag++;
if (rpm_check(release:"AL2", cpu:"x86_64", reference:"nghttp2-1.31.1-1.amzn2")) flag++;
if (rpm_check(release:"AL2", cpu:"x86_64", reference:"nghttp2-debuginfo-1.31.1-1.amzn2")) flag++;

if (flag)
{
  if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
  else security_warning(0);
  exit(0);
}
else
{
  tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "libnghttp2 / libnghttp2-devel / nghttp2 / nghttp2-debuginfo");
}
VendorProductVersionCPE
amazonlinuxlibnghttp2p-cpe:/a:amazon:linux:libnghttp2
amazonlinuxlibnghttp2-develp-cpe:/a:amazon:linux:libnghttp2-devel
amazonlinuxnghttp2p-cpe:/a:amazon:linux:nghttp2
amazonlinuxnghttp2-debuginfop-cpe:/a:amazon:linux:nghttp2-debuginfo
amazonlinux2cpe:/o:amazon:linux:2