Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-64457

🗓️ 25 Jul 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 2 Views

CVE 2026-64457: unpatched Linux vulnerability causing NULL pointer dereference when unbinding virtio balloon due to vq info index mismatch; fix uses queue index.

Related
Refs
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2026-64457
25 Jul 202608:51
attackerkb
CVE
CVE-2026-64457
25 Jul 202608:51
cve
Cvelist
CVE-2026-64457 virtio_pci: fix vq info pointer lookup via wrong index
25 Jul 202608:51
cvelist
Debian CVE
CVE-2026-64457
25 Jul 202608:51
debiancve
EUVD
EUVD-2026-48801
25 Jul 202608:51
euvd
NVD
CVE-2026-64457
25 Jul 202610:17
nvd
OSV
CVE-2026-64457 virtio_pci: fix vq info pointer lookup via wrong index
25 Jul 202608:51
osv
OSV
DEBIAN-CVE-2026-64457
25 Jul 202610:17
osv
Positive Technologies
PT-2026-64678
25 Jul 202600:00
ptsecurity
SUSE CVE
SUSE CVE-2026-64457
25 Jul 202615:58
susecve
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(329902);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/25");

  script_cve_id("CVE-2026-64457");

  script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-64457");

  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.

  - virtio_pci: fix vq info pointer lookup via wrong index Unbinding a virtio balloon device: echo virtio0 >
    /sys/bus/virtio/drivers/virtio_balloon/unbind triggers a NULL pointer dereference. The dmesg says: BUG:
    kernel NULL pointer dereference, address: 0000000000000008 [...] RIP:
    0010:__list_del_entry_valid_or_report+0x5/0xf0 Call Trace: <TASK> vp_del_vqs+0x121/0x230
    remove_common+0x135/0x150 virtballoon_remove+0xee/0x100 virtio_dev_remove+0x3b/0x80
    device_release_driver_internal+0x187/0x2c0 unbind_store+0xb9/0xe0
    kernfs_fop_write_iter.llvm.11660790530567441834+0xf6/0x180 vfs_write+0x2a9/0x3b0 ksys_write+0x5c/0xd0
    do_syscall_64+0x54/0x230 entry_SYSCALL_64_after_hwframe+0x29/0x31 [...] </TASK> The virtio_balloon device
    registers 5 queues (inflate, deflate, stats, free_page, reporting) but only the first two are
    unconditional. The stats, free_page and reporting queues are each conditional on their respective feature
    bits. When any of these features are absent, the corresponding vqs_info entry has name == NULL, creating
    holes in the array. The root cause is an indexing mismatch introduced when vq info storage was changed to
    be passed as an argument. vp_find_vqs_msix() and vp_find_vqs_intx() store the info pointer at
    vp_dev->vqs[i], where 'i' is the caller's sparse array index. However, the virtqueue itself gets vq->index
    assigned from queue_idx, a dense index that skips NULL entries. When holes exist, 'i' and queue_idx
    diverge. Later, vp_del_vqs() looks up info via vp_dev->vqs[vq->index] using the dense index into the
    sparsely-populated array, and hits NULL. Fix this by storing info at vp_dev->vqs[queue_idx] instead of
    vp_dev->vqs[i], so the store index matches the lookup index (vq->index). Apply the fix to both the MSIX
    and INTX paths. (CVE-2026-64457)

Note that Nessus relies on the presence of the package as reported by the vendor.");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2026-64457");
  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:N/AC:L/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/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-2026-64457");

  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:"2026/07/25");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/07/25");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:14.0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:linux");
  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) 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/Debian Linux-14");

  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 = {
  "Debian Linux-14": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "14",
        "pkgs": [
          {"reference": "bpftool"},
          {"reference": "hyperv-daemons"},
          {"reference": "intel-sdsi"},
          {"reference": "libcpupower-dev"},
          {"reference": "libcpupower1"},
          {"reference": "linux-base-7.1.3+deb14-alpha-generic"},
          {"reference": "linux-base-7.1.3+deb14-alpha-smp"},
          {"reference": "linux-base-7.1.3+deb14-amd64"},
          {"reference": "linux-base-7.1.3+deb14-arm64"},
          {"reference": "linux-base-7.1.3+deb14-arm64-16k"},
          {"reference": "linux-base-7.1.3+deb14-armmp"},
          {"reference": "linux-base-7.1.3+deb14-armmp-lpae"},
          {"reference": "linux-base-7.1.3+deb14-cloud-amd64"},
          {"reference": "linux-base-7.1.3+deb14-cloud-arm64"},
          {"reference": "linux-base-7.1.3+deb14-loong64"},
          {"reference": "linux-base-7.1.3+deb14-m68k"},
          {"reference": "linux-base-7.1.3+deb14-parisc"},
          {"reference": "linux-base-7.1.3+deb14-parisc64"},
          {"reference": "linux-base-7.1.3+deb14-powerpc"},
          {"reference": "linux-base-7.1.3+deb14-powerpc-smp"},
          {"reference": "linux-base-7.1.3+deb14-powerpc64"},
          {"reference": "linux-base-7.1.3+deb14-powerpc64-64k"},
          {"reference": "linux-base-7.1.3+deb14-powerpc64le"},
          {"reference": "linux-base-7.1.3+deb14-powerpc64le-64k"},
          {"reference": "linux-base-7.1.3+deb14-riscv64"},
          {"reference": "linux-base-7.1.3+deb14-rt-amd64"},
          {"reference": "linux-base-7.1.3+deb14-rt-arm64"},
          {"reference": "linux-base-7.1.3+deb14-s390x"},
          {"reference": "linux-base-7.1.3+deb14-sh7751r"},
          {"reference": "linux-base-7.1.3+deb14-sparc64"},
          {"reference": "linux-base-7.1.3+deb14-sparc64-smp"},
          {"reference": "linux-base-7.1.3+deb14-test"}
        ]
      }
    ]
  }
};

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 third_party_support = get_kb_item('Host/OS/extended-third-party');
if (!empty_or_null(third_party_support)) {
    var third_party_vendors = distro_constraints_values['third_party'];
    if (!empty_or_null(third_party_vendors)) {
        var vendor;
        foreach vendor (third_party_vendors) {
            if (vendor == third_party_support) exit(0, 'A third party management patch is available for this vulnerability from ' + vendor + '.\n');
        }
    }
}

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