Oracle Linux 7 : xmlsec1 (ELSA-2017-2492)

2017-08-22T00:00:00
ID ORACLELINUX_ELSA-2017-2492.NASL
Type nessus
Reporter Tenable
Modified 2018-07-25T00:00:00

Description

From Red Hat Security Advisory 2017:2492 :

An update for xmlsec1 is now available for Red Hat Enterprise Linux 7.

Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section.

XML Security Library is a C library based on LibXML2 and OpenSSL. The library was created with a goal to support major XML security standards 'XML Digital Signature' and 'XML Encryption'.

Security Fix(es) :

  • It was discovered xmlsec1's use of libxml2 inadvertently enabled external entity expansion (XXE) along with validation. An attacker could craft an XML file that would cause xmlsec1 to try and read local files or HTTP/FTP URLs, leading to information disclosure or denial of service. (CVE-2017-1000061)

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Red Hat Security Advisory RHSA-2017:2492 and 
# Oracle Linux Security Advisory ELSA-2017-2492 respectively.
#

include("compat.inc");

if (description)
{
  script_id(102633);
  script_version("3.5");
  script_cvs_date("Date: 2018/07/25 14:27:30");

  script_cve_id("CVE-2017-1000061");
  script_xref(name:"RHSA", value:"2017:2492");

  script_name(english:"Oracle Linux 7 : xmlsec1 (ELSA-2017-2492)");
  script_summary(english:"Checks rpm output for the updated packages");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Oracle Linux host is missing one or more security updates."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"From Red Hat Security Advisory 2017:2492 :

An update for xmlsec1 is now available for Red Hat Enterprise Linux 7.

Red Hat Product Security has rated this update as having a security
impact of Moderate. A Common Vulnerability Scoring System (CVSS) base
score, which gives a detailed severity rating, is available for each
vulnerability from the CVE link(s) in the References section.

XML Security Library is a C library based on LibXML2 and OpenSSL. The
library was created with a goal to support major XML security
standards 'XML Digital Signature' and 'XML Encryption'.

Security Fix(es) :

* It was discovered xmlsec1's use of libxml2 inadvertently enabled
external entity expansion (XXE) along with validation. An attacker
could craft an XML file that would cause xmlsec1 to try and read local
files or HTTP/FTP URLs, leading to information disclosure or denial of
service. (CVE-2017-1000061)"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://oss.oracle.com/pipermail/el-errata/2017-August/007149.html"
  );
  script_set_attribute(
    attribute:"solution", 
    value:"Update the affected xmlsec1 packages."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:N/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:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-gcrypt");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-gcrypt-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-gnutls");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-gnutls-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-nss");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-nss-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-openssl");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:xmlsec1-openssl-devel");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:oracle:linux:7");

  script_set_attribute(attribute:"patch_publication_date", value:"2017/08/21");
  script_set_attribute(attribute:"plugin_publication_date", value:"2017/08/22");
  script_end_attributes();

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/OracleLinux", "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);
if (!get_kb_item("Host/OracleLinux")) audit(AUDIT_OS_NOT, "Oracle Linux");
release = get_kb_item("Host/RedHat/release");
if (isnull(release) || !eregmatch(pattern: "Oracle (?:Linux Server|Enterprise Linux)", string:release)) audit(AUDIT_OS_NOT, "Oracle Linux");
os_ver = eregmatch(pattern: "Oracle (?:Linux Server|Enterprise Linux) .*release ([0-9]+(\.[0-9]+)?)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Oracle Linux");
os_ver = os_ver[1];
if (! ereg(pattern:"^7([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Oracle Linux 7", "Oracle Linux " + 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, "Oracle Linux", cpu);
if ("x86_64" >!< cpu) audit(AUDIT_ARCH_NOT, "x86_64", cpu);

flag = 0;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-devel-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-gcrypt-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-gcrypt-devel-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-gnutls-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-gnutls-devel-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-nss-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-nss-devel-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-openssl-1.2.20-7.el7_4")) flag++;
if (rpm_check(release:"EL7", cpu:"x86_64", reference:"xmlsec1-openssl-devel-1.2.20-7.el7_4")) 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, "xmlsec1 / xmlsec1-devel / xmlsec1-gcrypt / xmlsec1-gcrypt-devel / etc");
}