Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-79979

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

arm64 MMU backend flaw allows unprivileged users to access stale memory via TLB invalidation.

Related
Refs
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2026-79979
23 Oct 202620:05
–circl
cnnvd
CNNVD
Zephyr resource management error vulnerability
23 Oct 202600:00
–cnnvd
cve
CVE
CVE-2026-79979
23 Oct 202619:56
–cve
cvelist
Cvelist
CVE-2026-79979 Stale TLB entries after demand-paging page-out let arm64 user threads access reused physical frames
23 Oct 202619:56
–cvelist
euvd
EUVD
EUVD-2026-109142
23 Oct 202619:56
–euvd
mend
Mend
CVE-2026-79979
23 Oct 202619:56
–mend
nvd
NVD
CVE-2026-79979
23 Oct 202620:17
–nvd
osv_cve
osv_cve
CVE-2026-79979 Stale TLB entries after demand-paging page-out let arm64 user threads access reused physical frames
23 Oct 202619:56
–osv_cve
osv_ubuntu
osv_ubuntu
UBUNTU-CVE-2026-79979
26 Oct 202600:00
–osv_ubuntu
ptsecurity
Positive Technologies
PT-2026-122213
23 Oct 202600:00
–ptsecurity
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

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

  script_cve_id("CVE-2026-79979");

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

  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 arm64 MMU backend invalidates a single virtual address from the TLB with invalidate_tlb_page() in
    arch/arm64/core/mmu.c, which issued TLBI VAE1{IS} with an operand of virt >> 12. That operand encodes the
    ASID in bits [63:48], so the invalidation only ever matched ASID 0 (the kernel page tables) and global
    entries. Memory domains, however, are allocated ASIDs starting at 1 in arch_mem_domain_init(), and every
    domain-private leaf created by private_map() is mapped with MT_NG, i.e. non-global. A domain's cached
    translation therefore survived the invalidation. All callers of invalidate_tlb_page() are demand-paging
    paths. When the eviction algorithm reclaims a frame, page_frame_prepare_locked() in kernel/mmu.c calls
    arch_mem_page_out(), which marks the kernel leaf invalid, propagates the invalid descriptor into every
    domain via sync_domains(), and then flushes only ASID 0. do_page_fault() immediately reuses the very same
    page frame for the incoming mapping through arch_mem_page_in(). A user thread that had already touched the
    evicted page  a k_mem_partition added with arch_mem_domain_partition_add(), or its own stack mapped by
    map_thread_stack()  retains a valid EL0 read/write translation to that physical frame under its own ASID.
    Unprivileged code running in a user thread can drive memory pressure to force eviction and then keep
    accessing the stale address, obtaining read and write access to whatever the kernel subsequently placed in
    that frame: supervisor data, another memory domain's partition, or another thread's stack. This defeats
    the isolation that CONFIG_USERSPACE is meant to enforce, allowing information disclosure and memory
    corruption up to full compromise of the system. The fix switches the implementation to TLBI VAAE1{IS},
    which matches every ASID and both global and non-global entries, so no domain-tagged translation survives
    a page out, dirty-bit update or access-flag clear. Exploitation requires an arm64 build with both
    CONFIG_USERSPACE and CONFIG_DEMAND_PAGING enabled, an active backing store, and at least one demand-paged
    page that is also privately mapped into a user memory domain. The same commit additionally stops
    globalize_table() from stripping EL0 permission and non-global attributes off domain-private leaves during
    paging synchronization, which previously caused user threads to lose access to their own partitions and
    stacks. (CVE-2026-79979)

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-79979");
  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:H/Au:S/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/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-79979");

  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_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

30 Oct 2026 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 3.17.8
EPSS0.00103
3