Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-79977

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

WireGuard handles unauthenticated transport-data messages to redirect peer endpoints.

Related
Refs
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2026-79977
23 Oct 202620:04
–circl
cnnvd
CNNVD
Zephyr authorization issue vulnerability
23 Oct 202600:00
–cnnvd
cve
CVE
CVE-2026-79977
23 Oct 202619:56
–cve
cvelist
Cvelist
CVE-2026-79977 WireGuard peer endpoint learned from unauthenticated transport-data messages allows off-path tunnel hijack in Zephyr
23 Oct 202619:56
–cvelist
euvd
EUVD
EUVD-2026-109140
23 Oct 202619:56
–euvd
mend
Mend
CVE-2026-79977
23 Oct 202619:56
–mend
nvd
NVD
CVE-2026-79977
23 Oct 202620:17
–nvd
osv_ubuntu
osv_ubuntu
UBUNTU-CVE-2026-79977
26 Oct 202600:00
–osv_ubuntu
ptsecurity
Positive Technologies
PT-2026-122211
23 Oct 202600:00
–ptsecurity
ubuntucve
UbuntuCve
CVE-2026-79977
23 Oct 202620:17
–ubuntucve
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

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

  script_cve_id("CVE-2026-79977");

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

  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.

  - The WireGuard VPN service in subsys/net/lib/wireguard/wg.c updated the peer endpoint from a message it
    could not authenticate. In handle_transport_data(), when the 32-bit receiver index of an incoming
    transport-data message matched no session, the code both scheduled a new handshake and copied the
    datagram's source address into peer->endpoint with memcpy(&peer->endpoint, peer_addr,
    sizeof(peer->endpoint)). Because the receiver index is unknown, there is no key with which such a message
    could be verified, so the address written into peer->endpoint is entirely attacker-supplied. Every other
    endpoint update in the implementation happens only after authentication  after the Noise handshake in
    handle_handshake_init(), or after AEAD decryption plus the anti-replay check in wg_process_data_message().
    The WireGuard listener is registered with net_udp_register() using no remote address or port filter and
    defaults to UDP port 51820 (CONFIG_WIREGUARD_PORT), and wg_ctrl_recv() resolves the peer by interface
    rather than by any cryptographic identity. Any host able to send a UDP datagram to that port can therefore
    reach the defect off-path, with no need to observe legitimate traffic: a 16-byte datagram carrying the
    transport-data type, zeroed reserved bytes and an arbitrary receiver index is sufficient. The vulnerable
    branch runs whenever the peer has neither a valid handshake nor a current keypair  the state at boot and
    after a session expires. A single spoofed datagram redirects peer->endpoint to an address of the
    attacker's choosing, and all subsequent handshake initiations, keepalives and encrypted data packets are
    sent there. The legitimate peer never receives the initiations and so never re-authenticates, and nothing
    resets the endpoint afterwards, leaving the tunnel persistently unusable on devices whose peer does not
    initiate handshakes itself. The attacker can also relay the redirected initiations to the real peer to
    place itself in the path of the tunnel, observing ciphertext and traffic metadata and selectively dropping
    packets. WireGuard's end-to-end cryptography still prevents decryption or forgery of tunnel content, so
    the impact is loss of availability plus limited confidentiality, not key compromise. The fix removes the
    endpoint learning from this path entirely: the stale-session recovery is kept, but the handshake is sent
    only to an endpoint learnt from an authenticated message, falling back to the configured cfg_endpoint, and
    the message is dropped when neither is known. CONFIG_WIREGUARD is marked experimental and is not enabled
    by default. (CVE-2026-79977)

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-2026-79977");
  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:N/A:C");
  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:L/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-79977");

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

  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: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:canonical:ubuntu_linux:26.10");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:zephyr");
  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/Ubuntu Linux-16.04", "Host/OS/Ubuntu Linux-18.04", "Host/OS/Ubuntu Linux-20.04", "Host/OS/Ubuntu Linux-22.04", "Host/OS/Ubuntu Linux-24.04", "Host/OS/Ubuntu Linux-26.04", "Host/OS/Ubuntu Linux-26.10");

  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": "zephyr"}
        ]
      }
    ]
  },
  "Ubuntu Linux-18.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "18.04",
        "pkgs": [
          {"reference": "zephyr"}
        ]
      }
    ]
  },
  "Ubuntu Linux-20.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "20.04",
        "pkgs": [
          {"reference": "zephyr"}
        ]
      }
    ]
  },
  "Ubuntu Linux-22.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "22.04",
        "pkgs": [
          {"reference": "zephyr"}
        ]
      }
    ]
  },
  "Ubuntu Linux-24.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "24.04",
        "pkgs": [
          {"reference": "zephyr"}
        ]
      }
    ]
  },
  "Ubuntu Linux-26.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "26.04",
        "pkgs": [
          {"reference": "zephyr"}
        ]
      }
    ]
  },
  "Ubuntu Linux-26.10": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "26.10",
        "pkgs": [
          {"reference": "zephyr"}
        ]
      }
    ]
  }
};

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_HOLE,
      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

30 Oct 2026 00:00Current
6.3Medium risk
Vulners AI Score6.3
CVSS 3.18.2
EPSS0.00204
SSVC
6