| Reporter | Title | Published | Views | Family All 193 |
|---|---|---|---|---|
| Alibaba Cloud Linux 3 : 0075: cloud-kernel bugfix, enhancement and (ALINUX3-SA-2025:0075) | 27 May 202500:00 | – | nessus | |
| EulerOS 2.0 SP12 : kernel (EulerOS-SA-2024-2938) | 12 Dec 202400:00 | – | nessus | |
| EulerOS 2.0 SP12 : kernel (EulerOS-SA-2024-2953) | 12 Dec 202400:00 | – | nessus | |
| EulerOS 2.0 SP11 : kernel (EulerOS-SA-2024-2969) | 12 Dec 202400:00 | – | nessus | |
| EulerOS 2.0 SP11 : kernel (EulerOS-SA-2024-2983) | 12 Dec 202400:00 | – | nessus | |
| EulerOS Virtualization 2.12.1 : kernel (EulerOS-SA-2025-1547) | 17 May 202500:00 | – | nessus | |
| EulerOS Virtualization 2.12.0 : kernel (EulerOS-SA-2025-1562) | 17 May 202500:00 | – | nessus | |
| MiracleLinux 9 : kernel-5.14.0-570.12.1.el9_6 (AXSA:2025-10392:38) | 13 Jan 202600:00 | – | nessus | |
| Oracle Linux 9 : kernel (ELSA-2025-6966) | 22 May 202500:00 | – | nessus | |
| RHEL 9 : kernel (RHSA-2025:6966) | 27 May 202500:00 | – | nessus |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(229166);
script_version("1.14");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/05/21");
script_cve_id("CVE-2024-46787");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2024-46787");
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.
- userfaultfd: fix checks for huge PMDs Patch series userfaultfd: fix races around pmd_trans_huge() check,
v2. The pmd_trans_huge() code in mfill_atomic() is wrong in three different ways depending on kernel
version: 1. The pmd_trans_huge() check is racy and can lead to a BUG_ON() (if you hit the right two race
windows) - I've tested this in a kernel build with some extra mdelay() calls. See the commit message for a
description of the race scenario. On older kernels (before 6.5), I think the same bug can even
theoretically lead to accessing transhuge page contents as a page table if you hit the right 5 narrow race
windows (I haven't tested this case). 2. As pointed out by Qi Zheng, pmd_trans_huge() is not sufficient
for detecting PMDs that don't point to page tables. On older kernels (before 6.5), you'd just have to win
a single fairly wide race to hit this. I've tested this on 6.1 stable by racing migration (with a mdelay()
patched into try_to_migrate()) against UFFDIO_ZEROPAGE - on my x86 VM, that causes a kernel oops in
ptlock_ptr(). 3. On newer kernels (>=6.5), for shmem mappings, khugepaged is allowed to yank page tables
out from under us (though I haven't tested that), so I think the BUG_ON() checks in mfill_atomic() are
just wrong. I decided to write two separate fixes for these (one fix for bugs 1+2, one fix for bug 3), so
that the first fix can be backported to kernels affected by bugs 1+2. This patch (of 2): This fixes two
issues. I discovered that the following race can occur: mfill_atomic other thread ============
============ <zap PMD> pmdp_get_lockless() [reads none pmd] <bail if trans_huge> <if none:> <pagefault
creates transhuge zeropage> __pte_alloc [no-op] <zap PMD> <bail if pmd_trans_huge(*dst_pmd)>
BUG_ON(pmd_none(*dst_pmd)) I have experimentally verified this in a kernel with extra mdelay() calls; the
BUG_ON(pmd_none(*dst_pmd)) triggers. On kernels newer than commit 0d940a9b270b (mm/pgtable: allow
pte_offset_map[_lock]() to fail), this can't lead to anything worse than a BUG_ON(), since the page table
access helpers are actually designed to deal with page tables concurrently disappearing; but on older
kernels (<=6.4), I think we could probably theoretically race past the two BUG_ON() checks and end up
treating a hugepage as a page table. The second issue is that, as Qi Zheng pointed out, there are other
types of huge PMDs that pmd_trans_huge() can't catch: devmap PMDs and swap PMDs (in particular, migration
PMDs). On <=6.4, this is worse than the first issue: If mfill_atomic() runs on a PMD that contains a
migration entry (which just requires winning a single, fairly wide race), it will pass the PMD to
pte_offset_map_lock(), which assumes that the PMD points to a page table. Breakage follows: First, the
kernel tries to take the PTE lock (which will crash or maybe worse if there is no struct page for the
address bits in the migration entry PMD - I think at least on X86 there usually is no corresponding
struct page thanks to the PTE inversion mitigation, amd64 looks different). If that didn't crash, the
kernel would next try to write a PTE into what it wrongly thinks is a page table. As part of fixing these
issues, get rid of the check for pmd_trans_huge() before __pte_alloc() - that's redundant, we're going to
have to check for that after the __pte_alloc() anyway. Backport note: pmdp_get_lockless() is
pmd_read_atomic() in older kernels. (CVE-2024-46787)
Note that Nessus relies on the presence of the package as reported by the vendor.");
script_set_attribute(attribute:"see_also", value:"https://access.redhat.com/security/cve/cve-2024-46787");
script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2024-46787");
script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/CVE-2024-46787");
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:C/I:C/A:C");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:N/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-2024-46787");
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:"2024/09/18");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/03/05");
script_set_attribute(attribute:"plugin_type", value:"local");
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:centos:centos:8");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:11.0");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:12.0");
script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:8");
script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:9");
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-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-aws-6.5");
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-6.5");
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-gcp-6.5");
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");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gkeop-5.15");
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-6.5");
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-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-lowlatency-hwe-6.5");
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-6.5");
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-oem-6.5");
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-oracle-6.5");
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-riscv-6.5");
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:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-starfive-6.5");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:bpftool");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-abi-stablelists");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-abi-whitelists");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-cross-headers");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-debug");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-debug-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-debug-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-debug-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-debug-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-debug-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-doc");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-headers");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-ipaclones-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-devel-matched");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-kvm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-modules-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-debug-modules-partner");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-devel-matched");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-kvm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-modules-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-modules-partner");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-rt-selftests-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-selftests-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-tools");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-tools-libs");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-tools-libs-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-zfcpdump");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-zfcpdump-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-zfcpdump-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-zfcpdump-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-zfcpdump-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:kernel-zfcpdump-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:perf");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:python3-perf");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:linux");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:bpftool");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-abi-stablelists");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-abi-whitelists");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-cross-headers");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-debug");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-debug-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-debug-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-debug-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-debug-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-debug-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-doc");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-headers");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-ipaclones-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-devel-matched");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-kvm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-partner");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-devel-matched");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-kvm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-partner");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-rt-selftests-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-selftests-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-tools");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-tools-libs");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-tools-libs-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-core");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-devel");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules-extra");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules-internal");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:perf");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:python3-perf");
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("set_linux_os_id.nasl", "ssh_get_info2.nasl");
script_require_keys("Host/OS/identifier", "Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched");
script_require_ports("Host/OS/CentOS Linux-8", "Host/OS/Debian Linux-11", "Host/OS/Debian Linux-12", "Host/OS/Red Hat Enterprise Linux-8", "Host/OS/Red Hat Enterprise Linux-9", "Host/OS/Ubuntu Linux-16.04", "Host/OS/Ubuntu Linux-18.04", "Host/OS/Ubuntu Linux-20.04", "Host/OS/Ubuntu Linux-22.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/CentOS/rpm-list")) && empty_or_null(get_one_kb_item("Host/Debian/dpkg-l")) && empty_or_null(get_one_kb_item("Host/RedHat/rpm-list"))) audit(AUDIT_PACKAGE_LIST_MISSING);
include('linux_unpatched.inc');
var distro_constraints_array = {
"Debian Linux-12": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "12",
"pkgs": [
{"reference": "btrfs-modules-6.1.0-47-alpha-generic-di"},
{"reference": "cdrom-core-modules-6.1.0-47-alpha-generic-di"},
{"reference": "ext4-modules-6.1.0-47-alpha-generic-di"},
{"reference": "fat-modules-6.1.0-47-alpha-generic-di"},
{"reference": "isofs-modules-6.1.0-47-alpha-generic-di"},
{"reference": "jfs-modules-6.1.0-47-alpha-generic-di"},
{"reference": "kernel-image-6.1.0-47-alpha-generic-di"},
{"reference": "linux-doc"},
{"reference": "linux-doc-6.1"},
{"reference": "linux-headers-6.1.0"},
{"reference": "linux-source"},
{"reference": "linux-source-6.1"},
{"reference": "linux-support-6.1.0"},
{"reference": "loop-modules-6.1.0-47-alpha-generic-di"},
{"reference": "nic-modules-6.1.0-47-alpha-generic-di"},
{"reference": "nic-shared-modules-6.1.0-47-alpha-generic-di"},
{"reference": "nic-wireless-modules-6.1.0-47-alpha-generic-di"},
{"reference": "pata-modules-6.1.0-47-alpha-generic-di"},
{"reference": "ppp-modules-6.1.0-47-alpha-generic-di"},
{"reference": "scsi-core-modules-6.1.0-47-alpha-generic-di"},
{"reference": "scsi-modules-6.1.0-47-alpha-generic-di"},
{"reference": "scsi-nic-modules-6.1.0-47-alpha-generic-di"},
{"reference": "serial-modules-6.1.0-47-alpha-generic-di"},
{"reference": "usb-serial-modules-6.1.0-47-alpha-generic-di"},
{"reference": "xfs-modules-6.1.0-47-alpha-generic-di"}
]
}
]
},
"Debian Linux-11": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "11",
"pkgs": [
{"reference": "bpftool"},
{"reference": "btrfs-modules-5.10.0-32-alpha-generic-di"},
{"reference": "cdrom-core-modules-5.10.0-32-alpha-generic-di"},
{"reference": "hyperv-daemons"},
{"reference": "kernel-image-5.10.0-32-alpha-generic-di"},
{"reference": "libcpupower-dev"},
{"reference": "libcpupower1"},
{"reference": "linux-bootwrapper-5.10.0"},
{"reference": "linux-config-5.10"},
{"reference": "linux-cpupower"},
{"reference": "linux-doc"},
{"reference": "linux-doc-5.10"},
{"reference": "linux-headers-5.10.0"},
{"reference": "linux-kbuild-5.10"},
{"reference": "linux-libc-dev"},
{"reference": "linux-perf"},
{"reference": "linux-perf-5.10"},
{"reference": "linux-source"},
{"reference": "linux-source-5.10"},
{"reference": "linux-support-5.10.0"},
{"reference": "loop-modules-5.10.0-32-alpha-generic-di"},
{"reference": "nic-modules-5.10.0-32-alpha-generic-di"},
{"reference": "nic-shared-modules-5.10.0-32-alpha-generic-di"},
{"reference": "nic-wireless-modules-5.10.0-32-alpha-generic-di"},
{"reference": "pata-modules-5.10.0-32-alpha-generic-di"},
{"reference": "ppp-modules-5.10.0-32-alpha-generic-di"},
{"reference": "scsi-core-modules-5.10.0-32-alpha-generic-di"},
{"reference": "scsi-modules-5.10.0-32-alpha-generic-di"},
{"reference": "scsi-nic-modules-5.10.0-32-alpha-generic-di"},
{"reference": "serial-modules-5.10.0-32-alpha-generic-di"},
{"reference": "usb-serial-modules-5.10.0-32-alpha-generic-di"},
{"reference": "usbip"}
]
}
]
},
"Ubuntu Linux-16.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "16.04",
"pkgs": [
{"reference": "linux-hwe-edge"}
]
}
]
},
"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-gkeop"},
{"reference": "linux-gkeop-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-aws-6.5"},
{"reference": "linux-azure-5.19"},
{"reference": "linux-azure-6.2"},
{"reference": "linux-azure-6.5"},
{"reference": "linux-azure-fde"},
{"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-gcp-6.5"},
{"reference": "linux-headers-5.15.0"},
{"reference": "linux-headers-5.17.0"},
{"reference": "linux-hwe-5.19"},
{"reference": "linux-hwe-6.2"},
{"reference": "linux-hwe-6.5"},
{"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-lowlatency-hwe-6.5"},
{"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-nvidia-6.5"},
{"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-oem-6.5"},
{"reference": "linux-oracle-6.5"},
{"reference": "linux-realtime"},
{"reference": "linux-riscv-5.19"},
{"reference": "linux-riscv-6.5"},
{"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-starfive-6.5"},
{"reference": "linux-tools-5.15.0"},
{"reference": "linux-tools-5.17.0"}
]
}
]
},
"CentOS Linux-8": {
"package_manager": "rpm-list",
"constraints": [
{
"release": "8",
"pkgs": [
{"reference": "bpftool"},
{"reference": "kernel"},
{"reference": "kernel-abi-stablelists"},
{"reference": "kernel-abi-whitelists"},
{"reference": "kernel-core"},
{"reference": "kernel-cross-headers"},
{"reference": "kernel-debug"},
{"reference": "kernel-debug-core"},
{"reference": "kernel-debug-devel"},
{"reference": "kernel-debug-modules"},
{"reference": "kernel-debug-modules-extra"},
{"reference": "kernel-debug-modules-internal"},
{"reference": "kernel-devel"},
{"reference": "kernel-doc"},
{"reference": "kernel-headers"},
{"reference": "kernel-ipaclones-internal"},
{"reference": "kernel-modules"},
{"reference": "kernel-modules-extra"},
{"reference": "kernel-modules-internal"},
{"reference": "kernel-rt"},
{"reference": "kernel-rt-core"},
{"reference": "kernel-rt-debug"},
{"reference": "kernel-rt-debug-core"},
{"reference": "kernel-rt-debug-devel"},
{"reference": "kernel-rt-debug-kvm"},
{"reference": "kernel-rt-debug-modules"},
{"reference": "kernel-rt-debug-modules-extra"},
{"reference": "kernel-rt-debug-modules-internal"},
{"reference": "kernel-rt-devel"},
{"reference": "kernel-rt-kvm"},
{"reference": "kernel-rt-modules"},
{"reference": "kernel-rt-modules-extra"},
{"reference": "kernel-rt-modules-internal"},
{"reference": "kernel-rt-selftests-internal"},
{"reference": "kernel-selftests-internal"},
{"reference": "kernel-tools"},
{"reference": "kernel-tools-libs"},
{"reference": "kernel-tools-libs-devel"},
{"reference": "kernel-zfcpdump"},
{"reference": "kernel-zfcpdump-core"},
{"reference": "kernel-zfcpdump-devel"},
{"reference": "kernel-zfcpdump-modules"},
{"reference": "kernel-zfcpdump-modules-extra"},
{"reference": "kernel-zfcpdump-modules-internal"},
{"reference": "perf"},
{"reference": "python3-perf"}
]
}
]
},
"Red Hat Enterprise Linux-8": {
"package_manager": "rpm-list",
"constraints": [
{
"release": "8",
"pkgs": [
{"reference": "bpftool"},
{"reference": "kernel"},
{"reference": "kernel-abi-stablelists"},
{"reference": "kernel-abi-whitelists"},
{"reference": "kernel-core"},
{"reference": "kernel-cross-headers"},
{"reference": "kernel-debug"},
{"reference": "kernel-debug-core"},
{"reference": "kernel-debug-devel"},
{"reference": "kernel-debug-modules"},
{"reference": "kernel-debug-modules-extra"},
{"reference": "kernel-debug-modules-internal"},
{"reference": "kernel-devel"},
{"reference": "kernel-doc"},
{"reference": "kernel-headers"},
{"reference": "kernel-ipaclones-internal"},
{"reference": "kernel-modules"},
{"reference": "kernel-modules-extra"},
{"reference": "kernel-modules-internal"},
{"reference": "kernel-rt"},
{"reference": "kernel-rt-core"},
{"reference": "kernel-rt-debug"},
{"reference": "kernel-rt-debug-core"},
{"reference": "kernel-rt-debug-devel"},
{"reference": "kernel-rt-debug-kvm"},
{"reference": "kernel-rt-debug-modules"},
{"reference": "kernel-rt-debug-modules-extra"},
{"reference": "kernel-rt-debug-modules-internal"},
{"reference": "kernel-rt-devel"},
{"reference": "kernel-rt-kvm"},
{"reference": "kernel-rt-modules"},
{"reference": "kernel-rt-modules-extra"},
{"reference": "kernel-rt-modules-internal"},
{"reference": "kernel-rt-selftests-internal"},
{"reference": "kernel-selftests-internal"},
{"reference": "kernel-tools"},
{"reference": "kernel-tools-libs"},
{"reference": "kernel-tools-libs-devel"},
{"reference": "kernel-zfcpdump"},
{"reference": "kernel-zfcpdump-core"},
{"reference": "kernel-zfcpdump-devel"},
{"reference": "kernel-zfcpdump-modules"},
{"reference": "kernel-zfcpdump-modules-extra"},
{"reference": "kernel-zfcpdump-modules-internal"},
{"reference": "perf"},
{"reference": "python3-perf"}
]
}
]
},
"Red Hat Enterprise Linux-9": {
"package_manager": "rpm-list",
"constraints": [
{
"release": "9",
"pkgs": [
{"reference": "kernel-rt"},
{"reference": "kernel-rt-core"},
{"reference": "kernel-rt-debug"},
{"reference": "kernel-rt-debug-core"},
{"reference": "kernel-rt-debug-devel"},
{"reference": "kernel-rt-debug-devel-matched"},
{"reference": "kernel-rt-debug-kvm"},
{"reference": "kernel-rt-debug-modules"},
{"reference": "kernel-rt-debug-modules-core"},
{"reference": "kernel-rt-debug-modules-extra"},
{"reference": "kernel-rt-debug-modules-internal"},
{"reference": "kernel-rt-debug-modules-partner"},
{"reference": "kernel-rt-devel"},
{"reference": "kernel-rt-devel-matched"},
{"reference": "kernel-rt-kvm"},
{"reference": "kernel-rt-modules"},
{"reference": "kernel-rt-modules-core"},
{"reference": "kernel-rt-modules-extra"},
{"reference": "kernel-rt-modules-internal"},
{"reference": "kernel-rt-modules-partner"},
{"reference": "kernel-rt-selftests-internal"}
]
}
]
}
};
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_WARNING,
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