Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-79978

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

Out-of-bounds writes in adxl345_process_fifo_samples_cb() can corrupt memory.

Related
Refs
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2026-79978
23 Oct 202620:05
–circl
cnnvd
CNNVD
Zephyr Project Zephyr buffer error vulnerability
23 Oct 202600:00
–cnnvd
cve
CVE
CVE-2026-79978
23 Oct 202619:56
–cve
cvelist
Cvelist
CVE-2026-79978 Out-of-bounds write in the ADXL345 sensor driver RTIO streaming FIFO read path
23 Oct 202619:56
–cvelist
euvd
EUVD
EUVD-2026-109141
23 Oct 202619:56
–euvd
mend
Mend
CVE-2026-79978
23 Oct 202619:56
–mend
nvd
NVD
CVE-2026-79978
23 Oct 202620:17
–nvd
osv_ubuntu
osv_ubuntu
UBUNTU-CVE-2026-79978
26 Oct 202600:00
–osv_ubuntu
ptsecurity
Positive Technologies
PT-2026-122212
23 Oct 202600:00
–ptsecurity
ubuntucve
UbuntuCve
CVE-2026-79978
23 Oct 202620:17
–ubuntucve
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(372346);
  script_version("1.3");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/28");

  script_cve_id("CVE-2026-79978");

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

  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 RTIO streaming completion callback adxl345_process_fifo_samples_cb() in
    drivers/sensor/adi/adxl345/adxl345_stream.c clamps the amount of FIFO data it will report (read_len =
    MIN(fifo_bytes, buf_avail)) to the space actually returned by rtio_sqe_rx_buf(), but then queues one
    6-byte bus read per hardware FIFO entry at consecutive offsets from read_buf, bounded by the device-
    reported entry count rather than by the clamp. When the allocated buffer is smaller than a full batch, the
    driver writes up to 186 bytes past the end of the allocation; a companion defect left
    data->fifo_total_bytes un-reset at batch start, so an aborted or errored chain could leave a stale write
    offset that pushes the next batch's writes out of bounds as well. A short buffer is an expected, first-
    class outcome of the RTIO allocator: rtio_block_pool_alloc() walks the requested size down one block at a
    time until a contiguous run is available, and the driver only demands sizeof(struct adxl345_fifo_data) + 6
    bytes as its minimum. Any streaming configuration whose mempool block granularity is smaller than a full
    FIFO batch (204 bytes)  for example the sensor shell's RTIO_DEFINE_WITH_MEMPOOL(sensor_read_rtio, 8, 8,
    32, 64, 4) used by sensor stream <dev> on fifo_wm incl, or the 16-byte-block streaming example in the
    documentation  takes this path whenever the pool is fragmented or the consuming thread falls behind. The
    out-of-bounds writes are performed by the I2C/SPI RTIO backend (DMA on many SoCs) into the shared RTIO
    block pool, corrupting neighbouring live buffers or, for a pool smaller than one batch, memory beyond the
    pool itself. The written bytes are accelerometer samples and the destination follows the allocation, so
    there is no controllable corruption primitive: the realistic impact is silent corruption of other RTIO
    consumers' data or a crash. Reaching it requires a board with an interrupt-wired ADXL345 built with
    CONFIG_ADXL345_STREAM, plus buffer-pool starvation, which a co-resident local workload can induce but
    which also occurs spontaneously under load; there is no network, USB or radio path to this code.
    (CVE-2026-79978)

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-79978");
  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: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:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:L");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-79978");

  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

28 Oct 2026 00:00Current
6.1Medium risk
Vulners AI Score6.1
CVSS 3.13.6
EPSS0.00091
3