Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-87018

🗓️ 16 Oct 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 4 Views

Undici HTTP client crashes on TLS 1.2 renegotiation with a certificate-altname error.

Related
Refs
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2026-87018
15 Oct 202618:49
–circl
cve
CVE
CVE-2026-87018
15 Oct 202618:38
–cve
cvelist
Cvelist
CVE-2026-87018 undici vulnerable to Denial of Service via TLS 1.2 certificate-changing renegotiation
15 Oct 202618:38
–cvelist
debiancve
Debian CVE
CVE-2026-87018
15 Oct 202618:38
–debiancve
euvd
EUVD
EUVD-2026-102318
15 Oct 202618:38
–euvd
mend
Mend
CVE-2026-87018
15 Oct 202618:38
–mend
nvd
NVD
CVE-2026-87018
15 Oct 202619:17
–nvd
osv_debian
osv_debian
DEBIAN-CVE-2026-87018
15 Oct 202619:17
–osv_debian
osv_rhsa
osv_rhsa
RHSA-2026:84657 Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
20 Oct 202610:17
–osv_rhsa
osv_rhsa
osv_rhsa
RHSA-2026:84706 Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
20 Oct 202610:17
–osv_rhsa
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(366368);
  script_version("1.4");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/20");

  script_cve_id("CVE-2026-87018");

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

  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.

  - undici is an HTTP client library for Node.js. In versions 4.2.1 through 6.29.0, 7.0.0 through 7.30.0, and
    8.0.0 through 8.12.1, the client process crashes when a TLS 1.2 server renegotiates after the connection
    is established and presents a different, CA-trusted certificate whose hostname does not match the
    requested host. Node.js re-runs hostname verification on the renegotiated handshake and destroys the
    socket with a certificate-altname error, but undici's established-socket error handler asserted that this
    error code could never occur, so the peer-controlled error became an uncaught assertion that terminates
    the Node.js process, affecting both the HTTP/1.1 and HTTP/2 paths. A malicious or compromised HTTPS
    endpoint reached through undici or the global fetch() can crash the client with a single server-initiated
    renegotiation, taking down all in-flight requests and background work in the process, and exploitation
    needs no CA compromise because the attacker controls the endpoint and can present two ordinary valid
    certificates. Only TLS 1.2 is affected, since TLS 1.3 does not support renegotiation. The issue is fixed
    in undici 6.29.1, 7.30.1, and 8.12.2, and users should upgrade to one of those versions or later. As a
    workaround, restrict outbound connections to TLS 1.3 so renegotiation cannot occur, when the target
    endpoints support it. (CVE-2026-87018)

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-2026-87018");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2026-87018");
  script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/CVE-2026-87018");
  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:M/Au:N/C:N/I:N/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: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-2026-87018");

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

  script_set_attribute(attribute:"plugin_type", value:"local");
  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:"cpe:/o:centos:centos:8");
  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:"cpe:/o:redhat:enterprise_linux:10");
  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:node-undici");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs-docs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs-full-i18n");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs-nodemon");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs-npm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs-packaging");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs-packaging-bundler");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs22");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs24");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs24-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs24-docs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs24-full-i18n");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs24-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs24-npm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:nodejs26");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:npm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:v8-12.4-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:centos:centos:v8-13.6-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:node-undici");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs-docs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs-full-i18n");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs-nodemon");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs-npm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs-packaging");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs-packaging-bundler");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs22");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs24");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs24-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs24-docs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs24-full-i18n");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs24-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs24-npm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:nodejs26");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:npm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:v8-12.4-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:v8-13.6-devel");
  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/CentOS Linux-8", "Host/OS/Debian Linux-12", "Host/OS/Debian Linux-13", "Host/OS/Debian Linux-14", "Host/OS/Red Hat Enterprise Linux-10", "Host/OS/Red Hat Enterprise Linux-8", "Host/OS/Red Hat Enterprise Linux-9", "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/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": "node-llhttp"},
          {"reference": "node-undici"}
        ]
      }
    ]
  },
  "Debian Linux-14": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "14",
        "pkgs": [
          {"reference": "node-undici"}
        ]
      }
    ]
  },
  "Ubuntu Linux-24.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "24.04",
        "pkgs": [
          {"reference": "node-undici"}
        ]
      }
    ]
  },
  "Ubuntu Linux-26.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "26.04",
        "pkgs": [
          {"reference": "node-undici"}
        ]
      }
    ]
  },
  "Debian Linux-13": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "13",
        "pkgs": [
          {"reference": "libllhttp-dev"},
          {"reference": "libllhttp9.2"},
          {"reference": "node-llhttp"},
          {"reference": "node-undici"}
        ]
      }
    ]
  },
  "Red Hat Enterprise Linux-10": {
    "package_manager": "rpm-list",
    "constraints": [
      {
        "release": "10",
        "pkgs": [
          {"reference": "nodejs"},
          {"reference": "nodejs-devel"},
          {"reference": "nodejs-docs"},
          {"reference": "nodejs-full-i18n"},
          {"reference": "nodejs-libs"},
          {"reference": "nodejs-npm"},
          {"reference": "nodejs22"},
          {"reference": "nodejs24"},
          {"reference": "nodejs24-devel"},
          {"reference": "nodejs24-docs"},
          {"reference": "nodejs24-full-i18n"},
          {"reference": "nodejs24-libs"},
          {"reference": "nodejs24-npm"},
          {"reference": "nodejs26"}
        ]
      }
    ]
  },
  "CentOS Linux-8": {
    "package_manager": "rpm-list",
    "constraints": [
      {
        "release": "8",
        "pkgs": [
          {"reference": "nodejs"},
          {"reference": "nodejs-devel"},
          {"reference": "nodejs-docs"},
          {"reference": "nodejs-full-i18n"},
          {"reference": "nodejs-libs"},
          {"reference": "nodejs-nodemon"},
          {"reference": "nodejs-packaging"},
          {"reference": "nodejs-packaging-bundler"},
          {"reference": "npm"},
          {"reference": "v8-12.4-devel"},
          {"reference": "v8-13.6-devel"}
        ]
      }
    ]
  },
  "Red Hat Enterprise Linux-8": {
    "package_manager": "rpm-list",
    "constraints": [
      {
        "release": "8",
        "pkgs": [
          {"reference": "nodejs"},
          {"reference": "nodejs-devel"},
          {"reference": "nodejs-docs"},
          {"reference": "nodejs-full-i18n"},
          {"reference": "nodejs-libs"},
          {"reference": "nodejs-nodemon"},
          {"reference": "nodejs-packaging"},
          {"reference": "nodejs-packaging-bundler"},
          {"reference": "npm"},
          {"reference": "v8-12.4-devel"},
          {"reference": "v8-13.6-devel"}
        ]
      }
    ]
  },
  "Red Hat Enterprise Linux-9": {
    "package_manager": "rpm-list",
    "constraints": [
      {
        "release": "9",
        "pkgs": [
          {"reference": "nodejs"},
          {"reference": "nodejs-docs"},
          {"reference": "nodejs-full-i18n"},
          {"reference": "nodejs-libs"},
          {"reference": "npm"}
        ]
      }
    ]
  }
};

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

20 Oct 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.17.5
EPSS0.00187
SSVC
4