The remote Debian 11 host has packages installed that are affected by a vulnerability as referenced in the dsa-5091 advisory.
Note that Nessus has not tested for this issue but has instead relied only on the application’s self-reported version number.
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Debian Security Advisory dsa-5091. The text
# itself is copyright (C) Software in the Public Interest, Inc.
#
include('deprecated_nasl_level.inc');
include('compat.inc');
if (description)
{
script_id(158677);
script_version("1.4");
script_set_attribute(attribute:"plugin_modification_date", value:"2022/04/26");
script_cve_id("CVE-2022-23648");
script_name(english:"Debian DSA-5091-1 : containerd - security update");
script_set_attribute(attribute:"synopsis", value:
"The remote Debian host is missing a security-related update.");
script_set_attribute(attribute:"description", value:
"The remote Debian 11 host has packages installed that are affected by a vulnerability as referenced in the dsa-5091
advisory.
- containerd is a container runtime available as a daemon for Linux and Windows. A bug was found in
containerd prior to versions 1.6.1, 1.5.10, and 1.14.12 where containers launched through containerd's CRI
implementation on Linux with a specially-crafted image configuration could gain access to read-only copies
of arbitrary files and directories on the host. This may bypass any policy-based enforcement on container
setup (including a Kubernetes Pod Security Policy) and expose potentially sensitive information.
Kubernetes and crictl can both be configured to use containerd's CRI implementation. This bug has been
fixed in containerd 1.6.1, 1.5.10, and 1.4.12. Users should update to these versions to resolve the issue.
(CVE-2022-23648)
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/source-package/containerd");
script_set_attribute(attribute:"see_also", value:"https://www.debian.org/security/2022/dsa-5091");
script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2022-23648");
script_set_attribute(attribute:"see_also", value:"https://packages.debian.org/source/bullseye/containerd");
script_set_attribute(attribute:"solution", value:
"Upgrade the containerd packages.
For the stable distribution (bullseye), this problem has been fixed in version 1.4.13~ds1-1~deb11u1.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N");
script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-23648");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2022/03/03");
script_set_attribute(attribute:"patch_publication_date", value:"2022/03/06");
script_set_attribute(attribute:"plugin_publication_date", value:"2022/03/07");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:containerd");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:golang-github-containerd-containerd-dev");
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('audit.inc');
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': 'containerd', 'reference': '1.4.13~ds1-1~deb11u1'},
{'release': '11.0', 'prefix': 'golang-github-containerd-containerd-dev', 'reference': '1.4.13~ds1-1~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_WARNING,
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, 'containerd / golang-github-containerd-containerd-dev');
}
Vendor | Product | Version | CPE |
---|---|---|---|
debian | debian_linux | containerd | p-cpe:/a:debian:debian_linux:containerd |
debian | debian_linux | golang-github-containerd-containerd-dev | p-cpe:/a:debian:debian_linux:golang-github-containerd-containerd-dev |
debian | debian_linux | 11.0 | cpe:/o:debian:debian_linux:11.0 |