SUSE SLES11 Security Update : ghostscript-library (SUSE-SU-2018:3330-1)

2018-10-24T00:00:00
ID SUSE_SU-2018-3330-1.NASL
Type nessus
Reporter This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
Modified 2020-03-02T00:00:00

Description

This update for ghostscript-library fixes the following issues :

CVE-2018-16511: A type confusion in

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from SUSE update advisory SUSE-SU-2018:3330-1.
# The text itself is copyright (C) SUSE.
#

include("compat.inc");

if (description)
{
  script_id(118350);
  script_version("1.5");
  script_cvs_date("Date: 2019/09/10 13:51:49");

  script_cve_id("CVE-2017-9611", "CVE-2018-15910", "CVE-2018-16509", "CVE-2018-16511", "CVE-2018-16513", "CVE-2018-16540", "CVE-2018-16541", "CVE-2018-16542");

  script_name(english:"SUSE SLES11 Security Update : ghostscript-library (SUSE-SU-2018:3330-1)");
  script_summary(english:"Checks rpm output for the updated packages.");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote SUSE host is missing one or more security updates."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"This update for ghostscript-library fixes the following issues :

CVE-2018-16511: A type confusion in 'ztype' could be used by remote
attackers able to supply crafted PostScript to crash the interpreter
or possibly have unspecified other impact. (bsc#1107426)

CVE-2018-16540: Attackers able to supply crafted PostScript files to
the builtin PDF14 converter could use a use-after-free in copydevice
handling to crash the interpreter or possibly have unspecified other
impact. (bsc#1107420)

CVE-2018-16541: Attackers able to supply crafted PostScript files
could use incorrect free logic in pagedevice replacement to crash the
interpreter. (bsc#1107421)

CVE-2018-16542: Attackers able to supply crafted PostScript files
could use insufficient interpreter stack-size checking during error
handling to crash the interpreter. (bsc#1107413)

CVE-2018-16509: Incorrect 'restoration of privilege' checking during
handling of /invalidaccess exceptions could be used by attackers able
to supply crafted PostScript to execute code using the 'pipe'
instruction. (bsc#1107410

CVE-2018-16513: Attackers able to supply crafted PostScript files
could use a type confusion in the setcolor function to crash the
interpreter or possibly have unspecified other impact. (bsc#1107412)

CVE-2018-15910: Attackers able to supply crafted PostScript files
could use a type confusion in the LockDistillerParams parameter to
crash the interpreter or execute code. (bsc#1106173)

CVE-2017-9611: The Ins_MIRP function allowed remote attackers to cause
a denial of service (heap-based buffer over-read and application
crash) or possibly have unspecified other impact via a crafted
document. (bsc#1050893)

Note that Tenable Network Security has extracted the preceding
description block directly from the SUSE security advisory. Tenable
has attempted to automatically clean and format it as much as possible
without introducing additional issues."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1050893"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1106173"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1107410"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1107412"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1107413"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1107420"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1107421"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1107426"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2017-9611/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2018-15910/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2018-16509/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2018-16511/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2018-16513/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2018-16540/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2018-16541/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2018-16542/"
  );
  # https://www.suse.com/support/update/announcement/2018/suse-su-20183330-1/
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?dd3fdbe8"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"To install this SUSE Security Update use the SUSE recommended
installation methods like YaST online_update or 'zypper patch'.

Alternatively you can run the command listed for your product :

SUSE Linux Enterprise Software Development Kit 11-SP4:zypper in -t
patch sdksp4-ghostscript-library-13830=1

SUSE Linux Enterprise Server 11-SP4:zypper in -t patch
slessp4-ghostscript-library-13830=1

SUSE Linux Enterprise Server 11-SP3-LTSS:zypper in -t patch
slessp3-ghostscript-library-13830=1

SUSE Linux Enterprise Point of Sale 11-SP3:zypper in -t patch
sleposp3-ghostscript-library-13830=1

SUSE Linux Enterprise Debuginfo 11-SP4:zypper in -t patch
dbgsp4-ghostscript-library-13830=1

SUSE Linux Enterprise Debuginfo 11-SP3:zypper in -t patch
dbgsp3-ghostscript-library-13830=1"
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:F/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:F/RL:O/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Ghostscript Failed Restore Command Execution');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ghostscript-fonts-other");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ghostscript-fonts-rus");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ghostscript-fonts-std");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ghostscript-library");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ghostscript-omni");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:ghostscript-x11");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libgimpprint");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:11");

  script_set_attribute(attribute:"vuln_publication_date", value:"2017/07/26");
  script_set_attribute(attribute:"patch_publication_date", value:"2018/10/23");
  script_set_attribute(attribute:"plugin_publication_date", value:"2018/10/24");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/SuSE/release", "Host/SuSE/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/SuSE/release");
if (isnull(release) || release !~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "SUSE");
os_ver = pregmatch(pattern: "^(SLE(S|D)\d+)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "SUSE");
os_ver = os_ver[1];
if (! preg(pattern:"^(SLES11)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLES11", "SUSE " + os_ver);

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

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

sp = get_kb_item("Host/SuSE/patchlevel");
if (isnull(sp)) sp = "0";
if (os_ver == "SLES11" && (! preg(pattern:"^(3|4)$", string:sp))) audit(AUDIT_OS_NOT, "SLES11 SP3/4", os_ver + " SP" + sp);


flag = 0;
if (rpm_check(release:"SLES11", sp:"4", reference:"ghostscript-fonts-other-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"4", reference:"ghostscript-fonts-rus-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"4", reference:"ghostscript-fonts-std-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"4", reference:"ghostscript-library-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"4", reference:"ghostscript-omni-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"4", reference:"ghostscript-x11-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"4", reference:"libgimpprint-4.2.7-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"3", reference:"ghostscript-fonts-other-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"3", reference:"ghostscript-fonts-rus-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"3", reference:"ghostscript-fonts-std-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"3", reference:"ghostscript-library-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"3", reference:"ghostscript-omni-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"3", reference:"ghostscript-x11-8.62-32.47.13.1")) flag++;
if (rpm_check(release:"SLES11", sp:"3", reference:"libgimpprint-4.2.7-32.47.13.1")) flag++;


if (flag)
{
  if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
  else security_hole(0);
  exit(0);
}
else
{
  tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "ghostscript-library");
}