| Reporter | Title | Published | Views | Family All 136 |
|---|---|---|---|---|
| Vulnerability of the qla24xx_enable_msix() function in the drivers/scsi/qla2xxx/qla_isr.c module – This driver for supporting SCSI devices in the Linux operating system allows a hacker to cause a service failure. | 21 Mar 202500:00 | – | bdu_fstec | |
| CVE-2021-46964 | 14 Mar 202416:31 | – | circl | |
| Linux kernel security vulnerabilities | 27 Feb 202400:00 | – | cnnvd | |
| CVE-2021-46964 | 27 Feb 202418:47 | – | cve | |
| CVE-2021-46964 scsi: qla2xxx: Reserve extra IRQ vectors | 27 Feb 202418:47 | – | cvelist | |
| CVE-2021-46964 | 27 Feb 202418:47 | – | debiancve | |
| CVE-2021-46964 | 27 Feb 202419:04 | – | nvd | |
| openSUSE: Security Advisory for the Linux Kernel (SUSE-SU-2024:0857-1) | 25 Mar 202400:00 | – | openvas | |
| SUSE: Security Advisory (SUSE-SU-2024:0857-1) | 13 Feb 202500:00 | – | openvas | |
| SUSE: Security Advisory (SUSE-SU-2024:0926-1) | 13 Feb 202500:00 | – | openvas |
| Source | Link |
|---|---|
| ubuntu | www.ubuntu.com/security/CVE-2021-46964 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(246479);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2025/08/09");
script_cve_id("CVE-2021-46964");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2021-46964");
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.
- In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Reserve extra IRQ
vectors Commit a6dcfe08487e (scsi: qla2xxx: Limit interrupt vectors to number of CPUs) lowers the number
of allocated MSI-X vectors to the number of CPUs. That breaks vector allocation assumptions in
qla83xx_iospace_config(), qla24xx_enable_msix() and qla2x00_iospace_config(). Either of the functions
computes maximum number of qpairs as: ha->max_qpairs = ha->msix_count - 1 (MB interrupt) - 1 (default
response queue) - 1 (ATIO, in dual or pure target mode) max_qpairs is set to zero in case of two CPUs and
initiator mode. The number is then used to allocate ha->queue_pair_map inside qla2x00_alloc_queues(). No
allocation happens and ha->queue_pair_map is left NULL but the driver thinks there are queue pairs
available. qla2xxx_queuecommand() tries to find a qpair in the map and crashes: if (ha->mqenable) {
uint32_t tag; uint16_t hwq; struct qla_qpair *qpair = NULL; tag = blk_mq_unique_tag(cmd->request); hwq =
blk_mq_unique_tag_to_hwq(tag); qpair = ha->queue_pair_map[hwq]; # <- HERE if (qpair) return
qla2xxx_mqueuecommand(host, cmd, qpair); } BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops:
0000 [#1] SMP PTI CPU: 0 PID: 72 Comm: kworker/u4:3 Tainted: G W 5.10.0-rc1+ #25 Hardware name: QEMU
Standard PC (Q35 + ICH9, 2009), BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014 Workqueue: scsi_wq_7
fc_scsi_scan_rport [scsi_transport_fc] RIP: 0010:qla2xxx_queuecommand+0x16b/0x3f0 [qla2xxx] Call Trace:
scsi_queue_rq+0x58c/0xa60 blk_mq_dispatch_rq_list+0x2b7/0x6f0 ? __sbitmap_get_word+0x2a/0x80
__blk_mq_sched_dispatch_requests+0xb8/0x170 blk_mq_sched_dispatch_requests+0x2b/0x50
__blk_mq_run_hw_queue+0x49/0xb0 __blk_mq_delay_run_hw_queue+0xfb/0x150
blk_mq_sched_insert_request+0xbe/0x110 blk_execute_rq+0x45/0x70 __scsi_execute+0x10e/0x250
scsi_probe_and_add_lun+0x228/0xda0 __scsi_scan_target+0xf4/0x620 ? __pm_runtime_resume+0x4f/0x70
scsi_scan_target+0x100/0x110 fc_scsi_scan_rport+0xa1/0xb0 [scsi_transport_fc] process_one_work+0x1ea/0x3b0
worker_thread+0x28/0x3b0 ? process_one_work+0x3b0/0x3b0 kthread+0x112/0x130 ? kthread_park+0x80/0x80
ret_from_fork+0x22/0x30 The driver should allocate enough vectors to provide every CPU it's own HW queue
and still handle reserved (MB, RSP, ATIO) interrupts. The change fixes the crash on dual core VM and
prevents unbalanced QP allocation where nr_hw_queues is two less than the number of CPUs. (CVE-2021-46964)
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-46964");
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:L/Au:N/C:N/I:N/A:C");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/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-2021-46964");
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/02/27");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/08/09");
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:"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-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-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-nvidia-6.2");
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-raspi2");
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 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-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/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);
include('linux_unpatched.inc');
var distro_constraints_array = {
"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-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-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-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"}
]
}
]
}
};
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