CVSS2
Attack Vector
LOCAL
Attack Complexity
LOW
Authentication
NONE
Confidentiality Impact
COMPLETE
Integrity Impact
COMPLETE
Availability Impact
COMPLETE
AV:L/AC:L/Au:N/C:C/I:C/A:C
CVSS3
Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AI Score
Confidence
High
EPSS
Percentile
46.9%
The remote Ubuntu 20.04 LTS host has a package installed that is affected by multiple vulnerabilities as referenced in the USN-5278-1 advisory.
It was discovered that the rlimit tracking for user namespaces in the Linux kernel did not properly perform reference counting, leading to a use-after- free vulnerability. A local attacker could use this to cause a denial of service or possibly execute arbitrary code. (CVE-2022-24122)
It was discovered that the BPF verifier in the Linux kernel did not properly restrict pointer types in certain situations. A local attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary code. (CVE-2022-23222)
Jeremy Cline discovered a use-after-free in the nouveau graphics driver of the Linux kernel during device removal. A privileged or physically proximate attacker could use this to cause a denial of service (system crash). (CVE-2020-27820)
It was discovered that the Packet network protocol implementation in the Linux kernel contained a double- free vulnerability. A local attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary code. (CVE-2021-22600)
Jrgen Gro discovered that the Xen subsystem within the Linux kernel did not adequately limit the number of events driver domains (unprivileged PV backends) could send to other guest VMs. An attacker in a driver domain could use this to cause a denial of service in other guest VMs. (CVE-2021-28713)
Jrgen Gro discovered that the Xen network backend driver in the Linux kernel did not adequately limit the amount of queued packets when a guest did not process them. An attacker in a guest VM can use this to cause a denial of service (excessive kernel memory consumption) in the network backend domain.
(CVE-2021-28714, CVE-2021-28715)
Szymon Heidrich discovered that the USB Gadget subsystem in the Linux kernel did not properly restrict the size of control requests for certain gadget types, leading to possible out of bounds reads or writes. A local attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary code. (CVE-2021-39685)
It was discovered that the eBPF implementation in the Linux kernel contained a race condition around read- only maps. A privileged attacker could use this to modify read-only maps. (CVE-2021-4001)
Jann Horn discovered a race condition in the Unix domain socket implementation in the Linux kernel that could result in a read-after-free. A local attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary code. (CVE-2021-4083)
It was discovered that the simulated networking device driver for the Linux kernel did not properly initialize memory in certain situations. A local attacker could use this to expose sensitive information (kernel memory). (CVE-2021-4135)
Kirill Tkhai discovered that the XFS file system implementation in the Linux kernel did not calculate size correctly when pre-allocating space in some situations. A local attacker could use this to expose sensitive information. (CVE-2021-4155)
Eric Biederman discovered that the cgroup process migration implementation in the Linux kernel did not perform permission checks correctly in some situations. A local attacker could possibly use this to gain administrative privileges. (CVE-2021-4197)
Brendan Dolan-Gavitt discovered that the aQuantia AQtion Ethernet device driver in the Linux kernel did not properly validate meta-data coming from the device. A local attacker who can control an emulated device can use this to cause a denial of service (system crash) or possibly execute arbitrary code.
(CVE-2021-43975)
It was discovered that the ARM Trusted Execution Environment (TEE) subsystem in the Linux kernel contained a race condition leading to a use- after-free vulnerability. A local attacker could use this to cause a denial of service or possibly execute arbitrary code. (CVE-2021-44733)
It was discovered that the Phone Network protocol (PhoNet) implementation in the Linux kernel did not properly perform reference counting in some error conditions. A local attacker could possibly use this to cause a denial of service (memory exhaustion). (CVE-2021-45095)
It was discovered that the Reliable Datagram Sockets (RDS) protocol implementation in the Linux kernel did not properly deallocate memory in some error conditions. A local attacker could possibly use this to cause a denial of service (memory exhaustion). (CVE-2021-45480)
It was discovered that the BPF subsystem in the Linux kernel did not properly track pointer types on atomic fetch operations in some situations. A local attacker could use this to expose sensitive information (kernel pointer addresses). (CVE-2022-0264)
Sushma Venkatesh Reddy discovered that the Intel i915 graphics driver in the Linux kernel did not perform a GPU TLB flush in some situations. A local attacker could use this to cause a denial of service or possibly execute arbitrary code. (CVE-2022-0330)
It was discovered that the TIPC Protocol implementation in the Linux kernel did not properly initialize memory in some situations. A local attacker could use this to expose sensitive information (kernel memory). (CVE-2022-0382)
It was discovered that the VMware Virtual GPU driver in the Linux kernel did not properly handle certain failure conditions, leading to a stale entry in the file descriptor table. A local attacker could use this to expose sensitive information or possibly gain administrative privileges. (CVE-2022-22942)
Tenable has extracted the preceding description block directly from the Ubuntu security advisory.
Note that Nessus has not tested for these issues 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 Ubuntu Security Notice USN-5278-1. The text
# itself is copyright (C) Canonical, Inc. See
# <https://ubuntu.com/security/notices>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
##
include('deprecated_nasl_level.inc');
include('compat.inc');
if (description)
{
script_id(157463);
script_version("1.12");
script_set_attribute(attribute:"plugin_modification_date", value:"2024/08/27");
script_cve_id(
"CVE-2020-27820",
"CVE-2021-4001",
"CVE-2021-4083",
"CVE-2021-4135",
"CVE-2021-4155",
"CVE-2021-4197",
"CVE-2021-22600",
"CVE-2021-28713",
"CVE-2021-28714",
"CVE-2021-28715",
"CVE-2021-39685",
"CVE-2021-43975",
"CVE-2021-44733",
"CVE-2021-45095",
"CVE-2021-45480",
"CVE-2022-0264",
"CVE-2022-0330",
"CVE-2022-0382",
"CVE-2022-22942",
"CVE-2022-23222",
"CVE-2022-24122"
);
script_xref(name:"USN", value:"5278-1");
script_xref(name:"CISA-KNOWN-EXPLOITED", value:"2022/05/02");
script_name(english:"Ubuntu 20.04 LTS : Linux kernel (OEM) vulnerabilities (USN-5278-1)");
script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The remote Ubuntu 20.04 LTS host has a package installed that is affected by multiple vulnerabilities as referenced in
the USN-5278-1 advisory.
It was discovered that the rlimit tracking for user namespaces in the Linux kernel did not properly
perform reference counting, leading to a use-after- free vulnerability. A local attacker could use this to
cause a denial of service or possibly execute arbitrary code. (CVE-2022-24122)
It was discovered that the BPF verifier in the Linux kernel did not properly restrict pointer types in
certain situations. A local attacker could use this to cause a denial of service (system crash) or
possibly execute arbitrary code. (CVE-2022-23222)
Jeremy Cline discovered a use-after-free in the nouveau graphics driver of the Linux kernel during device
removal. A privileged or physically proximate attacker could use this to cause a denial of service (system
crash). (CVE-2020-27820)
It was discovered that the Packet network protocol implementation in the Linux kernel contained a double-
free vulnerability. A local attacker could use this to cause a denial of service (system crash) or
possibly execute arbitrary code. (CVE-2021-22600)
Jrgen Gro discovered that the Xen subsystem within the Linux kernel did not adequately limit the
number of events driver domains (unprivileged PV backends) could send to other guest VMs. An attacker in a
driver domain could use this to cause a denial of service in other guest VMs. (CVE-2021-28713)
Jrgen Gro discovered that the Xen network backend driver in the Linux kernel did not adequately limit
the amount of queued packets when a guest did not process them. An attacker in a guest VM can use this to
cause a denial of service (excessive kernel memory consumption) in the network backend domain.
(CVE-2021-28714, CVE-2021-28715)
Szymon Heidrich discovered that the USB Gadget subsystem in the Linux kernel did not properly restrict the
size of control requests for certain gadget types, leading to possible out of bounds reads or writes. A
local attacker could use this to cause a denial of service (system crash) or possibly execute arbitrary
code. (CVE-2021-39685)
It was discovered that the eBPF implementation in the Linux kernel contained a race condition around read-
only maps. A privileged attacker could use this to modify read-only maps. (CVE-2021-4001)
Jann Horn discovered a race condition in the Unix domain socket implementation in the Linux kernel that
could result in a read-after-free. A local attacker could use this to cause a denial of service (system
crash) or possibly execute arbitrary code. (CVE-2021-4083)
It was discovered that the simulated networking device driver for the Linux kernel did not properly
initialize memory in certain situations. A local attacker could use this to expose sensitive information
(kernel memory). (CVE-2021-4135)
Kirill Tkhai discovered that the XFS file system implementation in the Linux kernel did not calculate size
correctly when pre-allocating space in some situations. A local attacker could use this to expose
sensitive information. (CVE-2021-4155)
Eric Biederman discovered that the cgroup process migration implementation in the Linux kernel did not
perform permission checks correctly in some situations. A local attacker could possibly use this to gain
administrative privileges. (CVE-2021-4197)
Brendan Dolan-Gavitt discovered that the aQuantia AQtion Ethernet device driver in the Linux kernel did
not properly validate meta-data coming from the device. A local attacker who can control an emulated
device can use this to cause a denial of service (system crash) or possibly execute arbitrary code.
(CVE-2021-43975)
It was discovered that the ARM Trusted Execution Environment (TEE) subsystem in the Linux kernel contained
a race condition leading to a use- after-free vulnerability. A local attacker could use this to cause a
denial of service or possibly execute arbitrary code. (CVE-2021-44733)
It was discovered that the Phone Network protocol (PhoNet) implementation in the Linux kernel did not
properly perform reference counting in some error conditions. A local attacker could possibly use this to
cause a denial of service (memory exhaustion). (CVE-2021-45095)
It was discovered that the Reliable Datagram Sockets (RDS) protocol implementation in the Linux kernel did
not properly deallocate memory in some error conditions. A local attacker could possibly use this to cause
a denial of service (memory exhaustion). (CVE-2021-45480)
It was discovered that the BPF subsystem in the Linux kernel did not properly track pointer types on
atomic fetch operations in some situations. A local attacker could use this to expose sensitive
information (kernel pointer addresses). (CVE-2022-0264)
Sushma Venkatesh Reddy discovered that the Intel i915 graphics driver in the Linux kernel did not perform
a GPU TLB flush in some situations. A local attacker could use this to cause a denial of service or
possibly execute arbitrary code. (CVE-2022-0330)
It was discovered that the TIPC Protocol implementation in the Linux kernel did not properly initialize
memory in some situations. A local attacker could use this to expose sensitive information (kernel
memory). (CVE-2022-0382)
It was discovered that the VMware Virtual GPU driver in the Linux kernel did not properly handle certain
failure conditions, leading to a stale entry in the file descriptor table. A local attacker could use this
to expose sensitive information or possibly gain administrative privileges. (CVE-2022-22942)
Tenable has extracted the preceding description block directly from the Ubuntu security advisory.
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://ubuntu.com/security/notices/USN-5278-1");
script_set_attribute(attribute:"solution", value:
"Update the affected kernel package.");
script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:H/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-23222");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2022-24122");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"exploit_framework_core", value:"true");
script_set_attribute(attribute:"exploited_by_malware", value:"true");
script_set_attribute(attribute:"metasploit_name", value:'vmwgfx Driver File Descriptor Handling Priv Esc');
script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2021/01/11");
script_set_attribute(attribute:"patch_publication_date", value:"2022/02/09");
script_set_attribute(attribute:"plugin_publication_date", value:"2022/02/09");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:20.04:-:lts");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-image-5.14.0-1022-oem");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Ubuntu Local Security Checks");
script_copyright(english:"Ubuntu Security Notice (C) 2022-2024 Canonical, Inc. / NASL script (C) 2022-2024 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("linux_alt_patch_detect.nasl", "ssh_get_info.nasl");
script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");
exit(0);
}
include('debian_package.inc');
include('ksplice.inc');
if ( ! get_kb_item('Host/local_checks_enabled') ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/Ubuntu/release');
if ( isnull(os_release) ) audit(AUDIT_OS_NOT, 'Ubuntu');
os_release = chomp(os_release);
if (! ('20.04' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 20.04', 'Ubuntu ' + os_release);
if ( ! get_kb_item('Host/Debian/dpkg-l') ) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Ubuntu', cpu);
var kernel_mappings = {
'20.04': {
'5.14.0': {
'oem': '5.14.0-1022'
}
}
};
var host_kernel_release = get_kb_item('Host/uptrack-uname-r');
if (empty_or_null(host_kernel_release)) host_kernel_release = get_kb_item_or_exit('Host/uname-r');
var host_kernel_base_version = get_kb_item_or_exit('Host/Debian/kernel-base-version');
var host_kernel_type = get_kb_item_or_exit('Host/Debian/kernel-type');
if(empty_or_null(kernel_mappings[os_release][host_kernel_base_version][host_kernel_type])) audit(AUDIT_INST_VER_NOT_VULN, 'kernel ' + host_kernel_release);
var extra = '';
var kernel_fixed_version = kernel_mappings[os_release][host_kernel_base_version][host_kernel_type] + "-" + host_kernel_type;
if (deb_ver_cmp(ver1:host_kernel_release, ver2:kernel_fixed_version) < 0)
{
extra += 'Running Kernel level of ' + host_kernel_release + ' does not meet the minimum fixed level of ' + kernel_fixed_version + ' for this advisory.\n\n';
}
else
{
audit(AUDIT_PATCH_INSTALLED, 'Kernel package for USN-5278-1');
}
if (get_one_kb_item('Host/ksplice/kernel-cves'))
{
var cve_list = make_list('CVE-2020-27820', 'CVE-2021-4001', 'CVE-2021-4083', 'CVE-2021-4135', 'CVE-2021-4155', 'CVE-2021-4197', 'CVE-2021-22600', 'CVE-2021-28713', 'CVE-2021-28714', 'CVE-2021-28715', 'CVE-2021-39685', 'CVE-2021-43975', 'CVE-2021-44733', 'CVE-2021-45095', 'CVE-2021-45480', 'CVE-2022-0264', 'CVE-2022-0330', 'CVE-2022-0382', 'CVE-2022-22942', 'CVE-2022-23222', 'CVE-2022-24122');
if (ksplice_cves_check(cve_list))
{
audit(AUDIT_PATCH_INSTALLED, 'KSplice hotfix for USN-5278-1');
}
else
{
extra = extra + ksplice_reporting_text();
}
}
if (extra) {
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : extra
);
exit(0);
}
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-27820
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22600
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28713
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28714
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28715
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-39685
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4001
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4083
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4135
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4155
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4197
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43975
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44733
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45095
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45480
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0264
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0330
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0382
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22942
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23222
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-24122
ubuntu.com/security/notices/USN-5278-1
CVSS2
Attack Vector
LOCAL
Attack Complexity
LOW
Authentication
NONE
Confidentiality Impact
COMPLETE
Integrity Impact
COMPLETE
Availability Impact
COMPLETE
AV:L/AC:L/Au:N/C:C/I:C/A:C
CVSS3
Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AI Score
Confidence
High
EPSS
Percentile
46.9%