Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-74555

🗓️ 15 Aug 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 3 Views

Linux kernel libsas scsi driver has a resume deadlock and disk-wake race in hisi_sas causing device disable during autosuspend.

Related
Refs
Code
ReporterTitlePublishedViews
Family
attackerkb
ATTACKERKB
CVE-2026-74555
15 Aug 202612:28
attackerkb
cve
CVE
CVE-2026-74555
15 Aug 202612:28
cve
cvelist
Cvelist
CVE-2026-74555 scsi: libsas: Fix HA resume deadlock and hisi_sas disk-wake race
15 Aug 202612:28
cvelist
debiancve
Debian CVE
CVE-2026-74555
15 Aug 202600:00
debiancve
euvd
EUVD
EUVD-2026-59620
15 Aug 202612:28
euvd
nvd
NVD
CVE-2026-74555
15 Aug 202613:18
nvd
osv
OSV
DEBIAN-CVE-2026-74555
15 Aug 202613:18
osv
ptsecurity
Positive Technologies
PT-2026-73007
15 Aug 202600:00
ptsecurity
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(335796);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/08/15");

  script_cve_id("CVE-2026-74555");

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

  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.

  - scsi: libsas: Fix HA resume deadlock and hisi_sas disk-wake race Commit fbefe22811c3 (scsi: libsas: Don't
    always drain event workqueue for HA resume) introduced sas_resume_ha_no_sync() to avoid a deadlock: the
    PHYE_RESUME_TIMEOUT handler, running on the HA event workqueue, calls sas_deform_port() ->
    sas_destruct_devices(), which removes SCSI devices and waits for the host to become runtime-active. But
    the host cannot resume until sas_resume_ha() -> sas_drain_work() returns, and the drain is blocked on that
    very handler. However skipping the drain reintroduces a race: hisi_sas returns from resume before all PHY
    UP work and libsas discovery work finish. The controller may then autosuspend while disks are still waking
    up. The disks issue IO to a suspended controller, the IO fails, and the disks get disabled. Fix the
    deadlock at its source by moving the PHYE_RESUME_TIMEOUT notification to after sas_drain_work(). By then
    the host resume is about to complete, so device removal through device_link no longer blocks on the resume
    and the cycle is broken. With the deadlock gone, restore sas_resume_ha() (the draining variant) in
    hisi_sas and remove sas_resume_ha_no_sync(). The reorder is safe for the other libsas consumers (isci,
    pm8001, aic94xx, mvsas). During suspend, sas_suspend_devices() calls sas_notify_lldd_dev_gone() for each
    device, which sets dev->lldd_dev to NULL. When scsi_unblock_requests re-enables I/O in resume, any I/O to
    a timed-out phy's disk is immediately rejected by the LLDD before reaching hardware: isci returns
    SAS_DEVICE_UNKNOWN (mapped to DID_BAD_TARGET), and pm8001 returns SAS_PHY_DOWN (mapped to DID_NO_CONNECT).
    Both complete directly via scsi_done() without entering SCSI EH. This is identical in both the old and new
    ordering since lldd_dev_gone runs during suspend, before resume. The reorder only affects when the
    PHYE_RESUME_TIMEOUT handler runs (synchronized by sas_drain_work() vs. asynchronous after resume returns),
    not whether I/O can reach the device. aic94xx and mvsas do not register any PM ops and never reach this
    code path. (CVE-2026-74555)

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-74555");
  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-74555");

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

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:12.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:13.0");
  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-12", "Host/OS/Debian Linux-13", "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-12": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "12",
        "pkgs": [
          {"reference": "btrfs-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "cdrom-core-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "ext4-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "fat-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "isofs-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "jfs-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "kernel-image-6.1.0-50-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-50-alpha-generic-di"},
          {"reference": "nic-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "nic-shared-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "nic-wireless-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "pata-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "ppp-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "scsi-core-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "scsi-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "scsi-nic-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "serial-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "usb-serial-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "xfs-modules-6.1.0-50-alpha-generic-di"}
        ]
      }
    ]
  },
  "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.7+deb14-alpha-generic"},
          {"reference": "linux-base-7.1.7+deb14-alpha-smp"},
          {"reference": "linux-base-7.1.7+deb14-amd64"},
          {"reference": "linux-base-7.1.7+deb14-arm64"},
          {"reference": "linux-base-7.1.7+deb14-arm64-16k"},
          {"reference": "linux-base-7.1.7+deb14-armmp"},
          {"reference": "linux-base-7.1.7+deb14-armmp-lpae"},
          {"reference": "linux-base-7.1.7+deb14-cloud-amd64"},
          {"reference": "linux-base-7.1.7+deb14-cloud-arm64"},
          {"reference": "linux-base-7.1.7+deb14-loong64"},
          {"reference": "linux-base-7.1.7+deb14-m68k"},
          {"reference": "linux-base-7.1.7+deb14-parisc"},
          {"reference": "linux-base-7.1.7+deb14-parisc64"},
          {"reference": "linux-base-7.1.7+deb14-powerpc"},
          {"reference": "linux-base-7.1.7+deb14-powerpc-smp"},
          {"reference": "linux-base-7.1.7+deb14-powerpc64"},
          {"reference": "linux-base-7.1.7+deb14-powerpc64-64k"},
          {"reference": "linux-base-7.1.7+deb14-powerpc64le"},
          {"reference": "linux-base-7.1.7+deb14-powerpc64le-64k"},
          {"reference": "linux-base-7.1.7+deb14-riscv64"},
          {"reference": "linux-base-7.1.7+deb14-rt-amd64"},
          {"reference": "linux-base-7.1.7+deb14-rt-arm64"},
          {"reference": "linux-base-7.1.7+deb14-s390x"},
          {"reference": "linux-base-7.1.7+deb14-sh7751r"},
          {"reference": "linux-base-7.1.7+deb14-sparc64"},
          {"reference": "linux-base-7.1.7+deb14-sparc64-smp"},
          {"reference": "linux-base-7.1.7+deb14-test"}
        ]
      }
    ]
  },
  "Debian Linux-13": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "13",
        "pkgs": [
          {"reference": "bpftool"},
          {"reference": "hyperv-daemons"},
          {"reference": "intel-sdsi"},
          {"reference": "libcpupower-dev"},
          {"reference": "libcpupower1"},
          {"reference": "linux-bpf-dev"},
          {"reference": "linux-config-6.12"},
          {"reference": "linux-cpupower"},
          {"reference": "linux-doc"},
          {"reference": "linux-doc-6.12"},
          {"reference": "linux-headers-4kc-malta"},
          {"reference": "linux-headers-5kc-malta"},
          {"reference": "linux-headers-6.12.94+deb13-4kc-malta"},
          {"reference": "linux-headers-6.12.94+deb13-5kc-malta"},
          {"reference": "linux-headers-6.12.94+deb13-alpha-generic"},
          {"reference": "linux-headers-6.12.94+deb13-alpha-smp"},
          {"reference": "linux-headers-6.12.94+deb13-amd64"},
          {"reference": "linux-headers-6.12.94+deb13-arm64"},
          {"reference": "linux-headers-6.12.94+deb13-arm64-16k"},
          {"reference": "linux-headers-6.12.94+deb13-armmp"},
          {"reference": "linux-headers-6.12.94+deb13-armmp-lpae"},
          {"reference": "linux-headers-6.12.94+deb13-cloud-amd64"},
          {"reference": "linux-headers-6.12.94+deb13-cloud-arm64"},
          {"reference": "linux-headers-6.12.94+deb13-common"},
          {"reference": "linux-headers-6.12.94+deb13-common-rt"},
          {"reference": "linux-headers-6.12.94+deb13-loong64"},
          {"reference": "linux-headers-6.12.94+deb13-loongson-3"},
          {"reference": "linux-headers-6.12.94+deb13-m68k"},
          {"reference": "linux-headers-6.12.94+deb13-mips32r2eb"},
          {"reference": "linux-headers-6.12.94+deb13-mips32r2el"},
          {"reference": "linux-headers-6.12.94+deb13-mips64r2eb"},
          {"reference": "linux-headers-6.12.94+deb13-mips64r2el"}
        ]
      }
    ]
  }
};

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

15 Aug 2026 00:00Current
5.7Medium risk
Vulners AI Score5.7
3