Lucene search

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

SUSE SLED15 / SLES15 Security Update : shim (SUSE-SU-2020:2629-1)

2020-12-0900:00:00
This script is Copyright (C) 2020-2023 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
8

8.1 High

AI Score

Confidence

High

This update for shim fixes the following issues :

This update addresses the ‘BootHole’ security issue (master CVE CVE-2020-10713), by disallowing binaries signed by the previous SUSE UEFI signing key from booting.

This update should only be installed after updates of grub2, the Linux kernel and (if used) Xen from July / August 2020 are applied.

Changes :

Use vendor-dbx to block old SUSE/openSUSE signkeys (bsc#1168994)

Add dbx-cert.tar.xz which contains the certificates to block and a script, generate-vendor-dbx.sh, to generate vendor-dbx.bin

Add vendor-dbx.bin as the vendor dbx to block unwanted keys

Update the path to grub-tpm.efi in shim-install (bsc#1174320)

Only check EFI variable copying when Secure Boot is enabled (bsc#1173411)

Use the full path of efibootmgr to avoid errors when invoking shim-install from packagekitd (bsc#1168104)

shim-install: add check for btrfs is used as root file system to enable relative path lookup for file. (bsc#1153953)

shim-install: install MokManager to \EFI\boot to process the pending MOK request (bsc#1175626, bsc#1175656)

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-2020:2629-1.
# The text itself is copyright (C) SUSE.
#

include('compat.inc');

if (description)
{
  script_id(143746);
  script_version("1.4");
  script_set_attribute(attribute:"plugin_modification_date", value:"2023/12/12");

  script_cve_id("CVE-2020-10713");
  script_xref(name:"CEA-ID", value:"CEA-2020-0061");

  script_name(english:"SUSE SLED15 / SLES15 Security Update : shim (SUSE-SU-2020:2629-1)");

  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 shim fixes the following issues :

This update addresses the 'BootHole' security issue (master CVE
CVE-2020-10713), by disallowing binaries signed by the previous SUSE
UEFI signing key from booting.

This update should only be installed after updates of grub2, the Linux
kernel and (if used) Xen from July / August 2020 are applied.

Changes :

Use vendor-dbx to block old SUSE/openSUSE signkeys (bsc#1168994)

Add dbx-cert.tar.xz which contains the certificates to block and a
script, generate-vendor-dbx.sh, to generate vendor-dbx.bin

Add vendor-dbx.bin as the vendor dbx to block unwanted keys

Update the path to grub-tpm.efi in shim-install (bsc#1174320)

Only check EFI variable copying when Secure Boot is enabled
(bsc#1173411)

Use the full path of efibootmgr to avoid errors when invoking
shim-install from packagekitd (bsc#1168104)

shim-install: add check for btrfs is used as root file system to
enable relative path lookup for file. (bsc#1153953)

shim-install: install MokManager to \EFI\boot to process the pending
MOK request (bsc#1175626, bsc#1175656)

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=1113225");
  script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1121268");
  script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1153953");
  script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1168104");
  script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1168994");
  script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1173411");
  script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1174320");
  script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1175626");
  script_set_attribute(attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1175656");
  script_set_attribute(attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2020-10713/");
  # https://www.suse.com/support/update/announcement/2020/suse-su-20202629-1
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?a590a585");
  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 Module for Basesystem 15-SP2 :

zypper in -t patch SUSE-SLE-Module-Basesystem-15-SP2-2020-2629=1

SUSE Linux Enterprise Module for Basesystem 15-SP1 :

zypper in -t patch SUSE-SLE-Module-Basesystem-15-SP1-2020-2629=1");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/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:H/UI:N/S:C/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-2020-10713");

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

  script_set_attribute(attribute:"vuln_publication_date", value:"2020/07/30");
  script_set_attribute(attribute:"patch_publication_date", value:"2020/09/14");
  script_set_attribute(attribute:"plugin_publication_date", value:"2020/12/09");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:shim");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:shim-debuginfo");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:shim-debugsource");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:15");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"SuSE Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2020-2023 and is owned by Tenable, Inc. or an Affiliate thereof.");

  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:"^(SLED15|SLES15)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLED15 / SLES15", "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 == "SLES15" && (! preg(pattern:"^(1|2)$", string:sp))) audit(AUDIT_OS_NOT, "SLES15 SP1/2", os_ver + " SP" + sp);
if (os_ver == "SLED15" && (! preg(pattern:"^(1|2)$", string:sp))) audit(AUDIT_OS_NOT, "SLED15 SP1/2", os_ver + " SP" + sp);


flag = 0;
if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"shim-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"shim-debuginfo-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"shim-debugsource-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLES15", sp:"2", cpu:"x86_64", reference:"shim-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLES15", sp:"2", cpu:"x86_64", reference:"shim-debuginfo-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLES15", sp:"2", cpu:"x86_64", reference:"shim-debugsource-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"shim-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"shim-debuginfo-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"shim-debugsource-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLED15", sp:"2", cpu:"x86_64", reference:"shim-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLED15", sp:"2", cpu:"x86_64", reference:"shim-debuginfo-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) flag++;
if (rpm_check(release:"SLED15", sp:"2", cpu:"x86_64", reference:"shim-debugsource-15+git47-3.8.1", rpm_spec_vers_cmp:TRUE)) 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, "shim");
}
VendorProductVersionCPE
novellsuse_linux15cpe:/o:novell:suse_linux:15
novellsuse_linuxshimp-cpe:/a:novell:suse_linux:shim
novellsuse_linuxshim-debuginfop-cpe:/a:novell:suse_linux:shim-debuginfo
novellsuse_linuxshim-debugsourcep-cpe:/a:novell:suse_linux:shim-debugsource