SUSE SLES12 Security Update : spectre-meltdown-checker (SUSE-SU-2019:3340-1)

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

Description

This update for spectre-meltdown-checker fixes the following issues :

version 0.43

  • feat: implement TAA detection (CVE-2019-11135 bsc#1139073)

  • feat: implement MCEPSC / iTLB Multihit detection (CVE-2018-12207 bsc#1117665)

  • feat: taa: add TSX_CTRL MSR detection in hardware info

  • feat: fwdb: use both Intel GitHub repo and MCEdb to build our firmware version database

  • feat: use --live with --kernel/--config/--map to override file detection in live mode

  • enh: rework the vuln logic of MDS with --paranoid (fixes #307)

  • enh: explain that Enhanced IBRS is better for performance than classic IBRS

  • enh: kernel: autodetect customized arch kernels from cmdline

  • enh: kernel decompression: better tolerance against missing tools

  • enh: mock: implement reading from /proc/cmdline

  • fix: variant3a: Silvermont CPUs are not vulnerable to variant 3a

  • fix: lockdown: detect Red Hat locked down kernels (impacts MSR writes)

  • fix: lockdown: detect locked down mode in vanilla 5.4+ kernels

  • fix: sgx: on locked down kernels, fallback to CPUID bit for detection

  • fix: fwdb: builtin version takes precedence if the local cached version is older

  • fix: pteinv: don

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

include("compat.inc");

if (description)
{
  script_id(132334);
  script_version("1.2");
  script_cvs_date("Date: 2019/12/24");

  script_cve_id("CVE-2018-12207", "CVE-2019-11135");

  script_name(english:"SUSE SLES12 Security Update : spectre-meltdown-checker (SUSE-SU-2019:3340-1)");
  script_summary(english:"Checks rpm output for the updated package.");

  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 spectre-meltdown-checker fixes the following issues :

version 0.43

  - feat: implement TAA detection (CVE-2019-11135
    bsc#1139073)

  - feat: implement MCEPSC / iTLB Multihit detection
    (CVE-2018-12207 bsc#1117665)

  - feat: taa: add TSX_CTRL MSR detection in hardware info

  - feat: fwdb: use both Intel GitHub repo and MCEdb to
    build our firmware version database

  - feat: use --live with --kernel/--config/--map to
    override file detection in live mode

  - enh: rework the vuln logic of MDS with --paranoid (fixes
    #307)

  - enh: explain that Enhanced IBRS is better for
    performance than classic IBRS

  - enh: kernel: autodetect customized arch kernels from
    cmdline

  - enh: kernel decompression: better tolerance against
    missing tools

  - enh: mock: implement reading from /proc/cmdline

  - fix: variant3a: Silvermont CPUs are not vulnerable to
    variant 3a

  - fix: lockdown: detect Red Hat locked down kernels
    (impacts MSR writes)

  - fix: lockdown: detect locked down mode in vanilla 5.4+
    kernels

  - fix: sgx: on locked down kernels, fallback to CPUID bit
    for detection

  - fix: fwdb: builtin version takes precedence if the local
    cached version is older

  - fix: pteinv: don't check kernel image if not available

  - fix: silence useless error from grep (fixes #322)

  - fix: msr: fix msr module detection under Ubuntu 19.10
    (fixes #316)

  - fix: mocking value for read_msr

  - chore: rename mcedb cmdline parameters to fwdb, and
    change db version scheme

  - chore: fwdb: update to v130.20191104+i20191027

  - chore: add GitHub check workflow

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=1117665"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.suse.com/show_bug.cgi?id=1139073"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2018-12207/"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.suse.com/security/cve/CVE-2019-11135/"
  );
  # https://www.suse.com/support/update/announcement/2019/suse-su-20193340-1/
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?174220c0"
  );
  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 Server 12-SP5:zypper in -t patch
SUSE-SLE-SERVER-12-SP5-2019-3340=1"
  );
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:N/A:N");
  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:L/UI:N/S:C/C:H/I:N/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-11135");
  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:spectre-meltdown-checker");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");

  script_set_attribute(attribute:"vuln_publication_date", value:"2019/11/14");
  script_set_attribute(attribute:"patch_publication_date", value:"2019/12/19");
  script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/20");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 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:"^(SLES12)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLES12", "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);
if (cpu >!< "x86_64") audit(AUDIT_ARCH_NOT, "x86_64", cpu);


sp = get_kb_item("Host/SuSE/patchlevel");
if (isnull(sp)) sp = "0";
if (os_ver == "SLES12" && (! preg(pattern:"^(5)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP5", os_ver + " SP" + sp);


flag = 0;
if (rpm_check(release:"SLES12", sp:"5", cpu:"x86_64", reference:"spectre-meltdown-checker-0.43-3.3.1")) flag++;


if (flag)
{
  if (report_verbosity > 0) security_note(port:0, extra:rpm_report_get());
  else security_note(0);
  exit(0);
}
else
{
  tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "spectre-meltdown-checker");
}