Lucene search

K
nessusThis script is Copyright (C) 2021-2024 and is owned by Tenable, Inc. or an Affiliate thereof.EULEROS_SA-2021-1703.NASL
HistoryMar 24, 2021 - 12:00 a.m.

EulerOS 2.0 SP5 : qpdf (EulerOS-SA-2021-1703)

2021-03-2400:00:00
This script is Copyright (C) 2021-2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
13

6.8 Medium

AI Score

Confidence

High

According to the versions of the qpdf package installed, the EulerOS installation on the remote host is affected by the following vulnerabilities :

  • libqpdf.a in QPDF 6.0.0 allows remote attackers to cause a denial of service (infinite recursion and stack consumption) via a crafted PDF document, related to releaseResolved functions, aka qpdf-infiniteloop1.(CVE-2017-9208)

  • libqpdf.a in QPDF 6.0.0 allows remote attackers to cause a denial of service (infinite recursion and stack consumption) via a crafted PDF document, related to QPDFObjectHandle::parseInternal, aka qpdf-infiniteloop2.(CVE-2017-9209)

  • libqpdf.a in QPDF 6.0.0 allows remote attackers to cause a denial of service (infinite recursion and stack consumption) via a crafted PDF document, related to unparse functions, aka qpdf-infiniteloop3.(CVE-2017-9210)

  • The tokenizer in QPDF 6.0.0 and 7.0.b1 is recursive for arrays and dictionaries, which allows remote attackers to cause a denial of service (stack consumption and segmentation fault) or possibly have unspecified other impact via a PDF document with a deep data structure, as demonstrated by a crash in QPDFObjectHandle::parseInternal in libqpdf/QPDFObjectHandle.cc.(CVE-2017-12595)

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.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(148054);
  script_version("1.3");
  script_set_attribute(attribute:"plugin_modification_date", value:"2024/01/08");

  script_cve_id(
    "CVE-2017-12595",
    "CVE-2017-9208",
    "CVE-2017-9209",
    "CVE-2017-9210"
  );

  script_name(english:"EulerOS 2.0 SP5 : qpdf (EulerOS-SA-2021-1703)");

  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 qpdf package installed, the EulerOS
installation on the remote host is affected by the following
vulnerabilities :

  - libqpdf.a in QPDF 6.0.0 allows remote attackers to
    cause a denial of service (infinite recursion and stack
    consumption) via a crafted PDF document, related to
    releaseResolved functions, aka
    qpdf-infiniteloop1.(CVE-2017-9208)

  - libqpdf.a in QPDF 6.0.0 allows remote attackers to
    cause a denial of service (infinite recursion and stack
    consumption) via a crafted PDF document, related to
    QPDFObjectHandle::parseInternal, aka
    qpdf-infiniteloop2.(CVE-2017-9209)

  - libqpdf.a in QPDF 6.0.0 allows remote attackers to
    cause a denial of service (infinite recursion and stack
    consumption) via a crafted PDF document, related to
    unparse functions, aka
    qpdf-infiniteloop3.(CVE-2017-9210)

  - The tokenizer in QPDF 6.0.0 and 7.0.b1 is recursive for
    arrays and dictionaries, which allows remote attackers
    to cause a denial of service (stack consumption and
    segmentation fault) or possibly have unspecified other
    impact via a PDF document with a deep data structure,
    as demonstrated by a crash in
    QPDFObjectHandle::parseInternal in
    libqpdf/QPDFObjectHandle.cc.(CVE-2017-12595)

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-2021-1703
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?fc0a496e");
  script_set_attribute(attribute:"solution", value:
"Update the affected qpdf packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2017-12595");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"patch_publication_date", value:"2021/03/23");
  script_set_attribute(attribute:"plugin_publication_date", value:"2021/03/24");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:qpdf-libs");
  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) 2021-2024 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
  script_exclude_keys("Host/EulerOS/uvp_version");

  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/EulerOS/release");
if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");

sp = get_kb_item("Host/EulerOS/sp");
if (isnull(sp) || sp !~ "^(5)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP5");

uvp = get_kb_item("Host/EulerOS/uvp_version");
if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP5", "EulerOS UVP " + uvp);

if (!get_kb_item("Host/EulerOS/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$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);

flag = 0;

pkgs = ["qpdf-libs-5.0.1-3.h2.eulerosv2r7"];

foreach (pkg in pkgs)
  if (rpm_check(release:"EulerOS-2.0", sp:"5", reference:pkg)) flag++;

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    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, "qpdf");
}
VendorProductVersionCPE
huaweieulerosqpdf-libsp-cpe:/a:huawei:euleros:qpdf-libs
huaweieuleros2.0cpe:/o:huawei:euleros:2.0

6.8 Medium

AI Score

Confidence

High