Lucene search

K
nessusThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.SUSE_SU-2019-3340-1.NASL
HistoryDec 20, 2019 - 12:00 a.m.

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

2019-12-2000:00:00
This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
31

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.

#
# (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");
}
VendorProductVersionCPE
novellsuse_linuxspectre-meltdown-checkerp-cpe:/a:novell:suse_linux:spectre-meltdown-checker
novellsuse_linux12cpe:/o:novell:suse_linux:12