| Source | Link |
|---|---|
| ubuntu | www.ubuntu.com/security/CVE-2021-47277 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(245714);
script_version("1.13");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/02");
script_cve_id("CVE-2021-47277");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2021-47277");
script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.
- kvm: avoid speculation-based attacks from out-of-range memslot accesses KVM's mechanism for accessing
guest memory translates a guest physical address (gpa) to a host virtual address using the right-shifted
gpa (also known as gfn) and a struct kvm_memory_slot. The translation is performed in __gfn_to_hva_memslot
using the following formula: hva = slot->userspace_addr + (gfn - slot->base_gfn) * PAGE_SIZE It is
expected that gfn falls within the boundaries of the guest's physical memory. However, a guest can access
invalid physical addresses in such a way that the gfn is invalid. __gfn_to_hva_memslot is called from
kvm_vcpu_gfn_to_hva_prot, which first retrieves a memslot through __gfn_to_memslot. While __gfn_to_memslot
does check that the gfn falls within the boundaries of the guest's physical memory or not, a CPU can
speculate the result of the check and continue execution speculatively using an illegal gfn. The
speculation can result in calculating an out-of-bounds hva. If the resulting host virtual address is used
to load another guest physical address, this is effectively a Spectre gadget consisting of two consecutive
reads, the second of which is data dependent on the first. Right now it's not clear if there are any cases
in which this is exploitable. One interesting case was reported by the original author of this patch, and
involves visiting guest page tables on x86. Right now these are not vulnerable because the hva read goes
through get_user(), which contains an LFENCE speculation barrier. However, there are patches in progress
for x86 uaccess.h to mask kernel addresses instead of using LFENCE; once these land, a guest could use
speculation to read from the VMM's ring 3 address space. Other architectures such as ARM already use the
address masking method, and would be susceptible to this same kind of data-dependent access gadgets.
Therefore, this patch proactively protects from these attacks by masking out-of-bounds gfns in
__gfn_to_hva_memslot, which blocks speculation of invalid hvas. Sean Christopherson noted that this patch
does not cover kvm_read_guest_offset_cached. This however is limited to a few bytes past the end of the
cache, and therefore it is unlikely to be useful in the context of building a chain of data dependent
accesses. (CVE-2021-47277)
Note that Nessus relies on the presence of the package as reported by the vendor.");
script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/CVE-2021-47277");
script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
script_set_attribute(attribute:"agent", value:"unix");
script_set_cvss_base_vector("CVSS2#AV:L/AC:M/Au:N/C:P/I:N/A:N");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-47277");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vendor_unpatched", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2022/01/28");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/08/08");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:14.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:16.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:20.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:22.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:24.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:26.04:-:lts");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-allwinner-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.0");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-6.2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-6.2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-edge");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-6.2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-6.2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gke");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gke-4.15");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.15");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.4");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gkeop-5.4");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-6.2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-edge");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-intel-5.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-intel-iot-realtime");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-kvm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-6.2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-lts-xenial");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-nvidia-6.2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-nvidia-bos");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.10");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.14");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.17");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.6");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.0");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.1");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.0");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.13");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-raspi-realtime");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-raspi2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-realtime");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-riscv");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.11");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.8");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-starfive-5.19");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-starfive-6.2");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Misc.");
script_copyright(english:"This script is Copyright (C) 2025-2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info2.nasl", "set_linux_os_id.nasl");
script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched", "Host/OS/identifier");
script_require_ports("Host/OS/Ubuntu Linux-14.04", "Host/OS/Ubuntu Linux-16.04", "Host/OS/Ubuntu Linux-18.04", "Host/OS/Ubuntu Linux-20.04", "Host/OS/Ubuntu Linux-22.04", "Host/OS/Ubuntu Linux-24.04", "Host/OS/Ubuntu Linux-26.04");
exit(0);
}
if (!get_kb_item("global_settings/vendor_unpatched")) exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (empty_or_null(get_one_kb_item("Host/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);
include('linux_unpatched.inc');
var distro_constraints_array = {
"Ubuntu Linux-14.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "14.04",
"pkgs": [
{"reference": "linux-aws"},
{"reference": "linux-cloud-tools-3.13.0"},
{"reference": "linux-cloud-tools-common"},
{"reference": "linux-doc"},
{"reference": "linux-headers-3.13.0"},
{"reference": "linux-image-3.13.0"},
{"reference": "linux-image-extra-3.13.0"},
{"reference": "linux-libc-dev"},
{"reference": "linux-lts-xenial"},
{"reference": "linux-source-3.13.0"},
{"reference": "linux-tools-3.13.0"},
{"reference": "linux-tools-common"},
{"reference": "linux-udebs-generic"},
{"reference": "linux-udebs-generic-lpae"},
{"reference": "linux-udebs-lowlatency"}
]
}
]
},
"Ubuntu Linux-16.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "16.04",
"pkgs": [
{"reference": "linux-aws"},
{"reference": "linux-cloud-tools-4.4.0"},
{"reference": "linux-cloud-tools-common"},
{"reference": "linux-doc"},
{"reference": "linux-headers-4.4.0"},
{"reference": "linux-hwe-edge"},
{"reference": "linux-image-4.4.0"},
{"reference": "linux-image-extra-4.4.0"},
{"reference": "linux-kvm"},
{"reference": "linux-libc-dev"},
{"reference": "linux-source-4.4.0"},
{"reference": "linux-tools-4.4.0"},
{"reference": "linux-tools-common"},
{"reference": "linux-udebs-generic"},
{"reference": "linux-udebs-generic-lpae"},
{"reference": "linux-udebs-lowlatency"}
]
}
]
},
"Ubuntu Linux-18.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "18.04",
"pkgs": [
{"reference": "linux-aws-5.0"},
{"reference": "linux-aws-5.3"},
{"reference": "linux-azure-5.3"},
{"reference": "linux-azure-cloud-tools-4.15.0"},
{"reference": "linux-azure-edge"},
{"reference": "linux-azure-headers-4.15.0"},
{"reference": "linux-azure-tools-4.15.0"},
{"reference": "linux-cloud-tools-4.15.0"},
{"reference": "linux-gcp-5.3"},
{"reference": "linux-gcp-headers-4.15.0"},
{"reference": "linux-gcp-tools-4.15.0"},
{"reference": "linux-gke-4.15"},
{"reference": "linux-gke-5.4"},
{"reference": "linux-gkeop-5.4"},
{"reference": "linux-headers-4.15.0"},
{"reference": "linux-hwe"},
{"reference": "linux-hwe-edge"},
{"reference": "linux-image-4.15.0"},
{"reference": "linux-image-unsigned-4.15.0"},
{"reference": "linux-modules-4.15.0"},
{"reference": "linux-modules-extra-4.15.0"},
{"reference": "linux-oem-headers-4.15.0"},
{"reference": "linux-oem-tools-4.15.0"},
{"reference": "linux-oracle-5.0"},
{"reference": "linux-oracle-5.3"},
{"reference": "linux-tools-4.15.0"},
{"reference": "linux-udebs-azure"},
{"reference": "linux-udebs-oem"}
]
}
]
},
"Ubuntu Linux-20.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "20.04",
"pkgs": [
{"reference": "linux-aws-5.11"},
{"reference": "linux-aws-5.13"},
{"reference": "linux-aws-5.8"},
{"reference": "linux-azure-5.11"},
{"reference": "linux-azure-5.13"},
{"reference": "linux-azure-5.8"},
{"reference": "linux-azure-fde"},
{"reference": "linux-buildinfo-5.4.0"},
{"reference": "linux-buildinfo-5.6.0"},
{"reference": "linux-cloud-tools-5.4.0"},
{"reference": "linux-cloud-tools-5.6.0"},
{"reference": "linux-gcp-5.11"},
{"reference": "linux-gcp-5.13"},
{"reference": "linux-gcp-5.8"},
{"reference": "linux-gke"},
{"reference": "linux-gke-5.15"},
{"reference": "linux-headers-5.4.0"},
{"reference": "linux-headers-5.6.0"},
{"reference": "linux-hwe-5.11"},
{"reference": "linux-hwe-5.13"},
{"reference": "linux-hwe-5.8"},
{"reference": "linux-image-5.4.0"},
{"reference": "linux-image-unsigned-5.6.0"},
{"reference": "linux-intel-5.13"},
{"reference": "linux-libc-dev"},
{"reference": "linux-modules-5.4.0"},
{"reference": "linux-modules-5.6.0"},
{"reference": "linux-modules-extra-5.4.0"},
{"reference": "linux-modules-extra-5.6.0"},
{"reference": "linux-oem-5.10"},
{"reference": "linux-oem-5.13"},
{"reference": "linux-oem-5.14"},
{"reference": "linux-oem-5.6-headers-5.6.0"},
{"reference": "linux-oem-5.6-tools-5.6.0"},
{"reference": "linux-oem-5.6-tools-common"},
{"reference": "linux-oem-5.6-tools-host"},
{"reference": "linux-oracle-5.11"},
{"reference": "linux-oracle-5.13"},
{"reference": "linux-oracle-5.8"},
{"reference": "linux-raspi2"},
{"reference": "linux-riscv-5.11"},
{"reference": "linux-riscv-5.8"},
{"reference": "linux-riscv-headers-5.4.0"},
{"reference": "linux-riscv-tools-5.4.0"},
{"reference": "linux-tools-5.4.0"},
{"reference": "linux-tools-5.6.0"},
{"reference": "linux-udebs-generic"},
{"reference": "linux-udebs-oem"}
]
}
]
},
"Ubuntu Linux-22.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "22.04",
"pkgs": [
{"reference": "linux-allwinner-5.19"},
{"reference": "linux-aws-5.19"},
{"reference": "linux-aws-6.2"},
{"reference": "linux-azure-5.19"},
{"reference": "linux-azure-6.2"},
{"reference": "linux-azure-fde-5.19"},
{"reference": "linux-azure-fde-6.2"},
{"reference": "linux-buildinfo-5.15.0"},
{"reference": "linux-buildinfo-5.17.0"},
{"reference": "linux-cloud-tools-5.15.0"},
{"reference": "linux-cloud-tools-5.17.0"},
{"reference": "linux-gcp-5.19"},
{"reference": "linux-gcp-6.2"},
{"reference": "linux-headers-5.15.0"},
{"reference": "linux-headers-5.17.0"},
{"reference": "linux-hwe-5.19"},
{"reference": "linux-hwe-6.2"},
{"reference": "linux-image-5.15.0"},
{"reference": "linux-image-unsigned-5.17.0"},
{"reference": "linux-intel-iot-realtime"},
{"reference": "linux-lowlatency-hwe-5.19"},
{"reference": "linux-lowlatency-hwe-6.2"},
{"reference": "linux-modules-5.15.0"},
{"reference": "linux-modules-5.17.0"},
{"reference": "linux-modules-extra-5.15.0"},
{"reference": "linux-modules-extra-5.17.0"},
{"reference": "linux-nvidia-6.2"},
{"reference": "linux-oem-5.17-headers-5.17.0"},
{"reference": "linux-oem-5.17-tools-5.17.0"},
{"reference": "linux-oem-5.17-tools-host"},
{"reference": "linux-oem-6.0"},
{"reference": "linux-oem-6.1"},
{"reference": "linux-realtime"},
{"reference": "linux-riscv-5.19"},
{"reference": "linux-riscv-headers-5.15.0"},
{"reference": "linux-riscv-tools-5.15.0"},
{"reference": "linux-starfive-5.19"},
{"reference": "linux-starfive-6.2"},
{"reference": "linux-tools-5.15.0"},
{"reference": "linux-tools-5.17.0"}
]
}
]
},
"Ubuntu Linux-24.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "24.04",
"pkgs": [
{"reference": "linux-raspi-realtime"}
]
}
]
},
"Ubuntu Linux-26.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "26.04",
"pkgs": [
{"reference": "linux-gke"},
{"reference": "linux-nvidia-bos"}
]
}
]
}
};
var distro_constraints_values = linux_unpatched::get_distro_constraints(distro_constraints_arr:distro_constraints_array);
if (empty_or_null(distro_constraints_values)) audit(AUDIT_HOST_NOT, 'affected');
var report = linux_unpatched::check_unpatched_constraints(distro_constraints_values:distro_constraints_values);
if (!empty_or_null(report))
{
security_report_v4(
port : 0,
severity : SECURITY_NOTE,
extra : report
);
exit(0);
}
else
{
audit(AUDIT_HOST_NOT, 'affected');
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation