Lucene search

K
nessusThis script is Copyright (C) 2022 and is owned by Tenable, Inc. or an Affiliate thereof.DEBIAN_DSA-5166.NASL
HistoryJun 21, 2022 - 12:00 a.m.

Debian DSA-5166-1 : slurm-wlm - security update

2022-06-2100:00:00
This script is Copyright (C) 2022 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
13

The remote Debian 11 host has packages installed that are affected by multiple vulnerabilities as referenced in the dsa-5166 advisory.

  • SchedMD Slurm 21.08.x through 20.11.x has Incorrect Access Control that leads to Information Disclosure.
    (CVE-2022-29500)

  • SchedMD Slurm 21.08.x through 20.11.x has Incorrect Access Control that leads to Escalation of Privileges and code execution. (CVE-2022-29501)

Note that Nessus has not tested for these issues but has instead relied only on the application’s self-reported version number.

#
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Debian Security Advisory dsa-5166. The text
# itself is copyright (C) Software in the Public Interest, Inc.
#

include('compat.inc');

if (description)
{
  script_id(162415);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/06/21");

  script_cve_id("CVE-2022-29500", "CVE-2022-29501");

  script_name(english:"Debian DSA-5166-1 : slurm-wlm - security update");

  script_set_attribute(attribute:"synopsis", value:
"The remote Debian host is missing one or more security-related updates.");
  script_set_attribute(attribute:"description", value:
"The remote Debian 11 host has packages installed that are affected by multiple vulnerabilities as referenced in the
dsa-5166 advisory.

  - SchedMD Slurm 21.08.x through 20.11.x has Incorrect Access Control that leads to Information Disclosure.
    (CVE-2022-29500)

  - SchedMD Slurm 21.08.x through 20.11.x has Incorrect Access Control that leads to Escalation of Privileges
    and code execution. (CVE-2022-29501)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010633");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/source-package/slurm-wlm");
  script_set_attribute(attribute:"see_also", value:"https://www.debian.org/security/2022/dsa-5166");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2022-29500");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2022-29501");
  script_set_attribute(attribute:"see_also", value:"https://packages.debian.org/source/bullseye/slurm-wlm");
  script_set_attribute(attribute:"solution", value:
"Upgrade the slurm-wlm packages.

For the stable distribution (bullseye), these problems have been fixed in version 20.11.7+really20.11.4-2+deb11u1.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:S/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/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-2022-29501");

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

  script_set_attribute(attribute:"vuln_publication_date", value:"2022/05/05");
  script_set_attribute(attribute:"patch_publication_date", value:"2022/06/20");
  script_set_attribute(attribute:"plugin_publication_date", value:"2022/06/21");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libpam-slurm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libpam-slurm-adopt");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libpmi0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libpmi0-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libpmi2-0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libpmi2-0-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libslurm-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libslurm-perl");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libslurm36");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libslurmdb-perl");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurm-client");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurm-client-emulator");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurm-wlm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurm-wlm-basic-plugins");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurm-wlm-basic-plugins-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurm-wlm-doc");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurm-wlm-emulator");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurm-wlm-torque");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurmctld");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurmd");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurmdbd");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:slurmrestd");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:sview");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:11.0");
  script_end_attributes();

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

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");

  exit(0);
}

include('debian_package.inc');

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);

var release = get_kb_item('Host/Debian/release');
if ( isnull(release) ) audit(AUDIT_OS_NOT, 'Debian');
var release = chomp(release);
if (! preg(pattern:"^(11)\.[0-9]+", string:release)) audit(AUDIT_OS_NOT, 'Debian 11.0', 'Debian ' + release);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Debian', cpu);

var pkgs = [
    {'release': '11.0', 'prefix': 'libpam-slurm', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libpam-slurm-adopt', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libpmi0', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libpmi0-dev', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libpmi2-0', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libpmi2-0-dev', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libslurm-dev', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libslurm-perl', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libslurm36', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'libslurmdb-perl', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurm-client', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurm-client-emulator', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurm-wlm', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurm-wlm-basic-plugins', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurm-wlm-basic-plugins-dev', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurm-wlm-doc', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurm-wlm-emulator', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurm-wlm-torque', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurmctld', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurmd', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurmdbd', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'slurmrestd', 'reference': '20.11.7+really20.11.4-2+deb11u1'},
    {'release': '11.0', 'prefix': 'sview', 'reference': '20.11.7+really20.11.4-2+deb11u1'}
];

var flag = 0;
foreach package_array ( pkgs ) {
  var release = NULL;
  var prefix = NULL;
  var reference = NULL;
  if (!empty_or_null(package_array['release'])) release = package_array['release'];
  if (!empty_or_null(package_array['prefix'])) prefix = package_array['prefix'];
  if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
  if (release && prefix && reference) {
    if (deb_check(release:release, prefix:prefix, reference:reference)) flag++;
  }
}

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_HOLE,
    extra      : deb_report_get()
  );
  exit(0);
}
else
{
  var tested = deb_pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'libpam-slurm / libpam-slurm-adopt / libpmi0 / libpmi0-dev / libpmi2-0 / etc');
}