Lucene search
K

Debian dla-4441 : gpsd - security update

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

Gpsd security update fixes heap-based out-of-bounds write and integer underflow in Debian eleven.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
#
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Debian Security Advisory dla-4441. The text
# itself is copyright (C) Software in the Public Interest, Inc.
#

include('compat.inc');

if (description)
{
  script_id(291321);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/01/19");

  script_cve_id("CVE-2025-67268", "CVE-2025-67269");
  script_xref(name:"IAVA", value:"2026-A-0033");

  script_name(english:"Debian dla-4441 : gpsd - security update");

  script_set_attribute(attribute:"synopsis", value:
"The remote Debian host is missing one or more security-related updates.");
  script_set_attribute(attribute:"description", value:
"The remote Debian 11 host has packages installed that are affected by multiple vulnerabilities as referenced in the
dla-4441 advisory.

    [email protected]
    Subject: [SECURITY] [DLA 4441-1] gpsd security update

    - -------------------------------------------------------------------------
    Debian LTS Advisory DLA-4441-1                [email protected]
    https://www.debian.org/lts/security/                   Bastien Roucaris
    January 19, 2026                              https://wiki.debian.org/LTS
    - -------------------------------------------------------------------------

    Package        : gpsd
    Version        : 3.22-4+deb11u1
    CVE ID         : CVE-2025-67268 CVE-2025-67269
    Debian Bug     : 1124799 1124800

    Multiple vulnerabilities were fixed in gpsd a service daemon that
    monitors one or more GNSS (GPS) or AIS receivers attached to a host computer
    through serial or USB ports.

    CVE-2025-67268

        gpsd contains a heap-based out-of-bounds write
        vulnerability in the drivers/driver_nmea2000.c file.
        The hnd_129540 function, which handles NMEA2000 PGN 129540
        (GNSS Satellites in View) packets, fails to validate the
        user-supplied satellite count against the size of the skyview
        array (184 elements). This allows an attacker to write beyond
        the bounds of the array by providing a satellite count up
        to 255, leading to memory corruption, Denial of Service (DoS),
        and potentially arbitrary code execution.

    CVE-2025-67269

        An integer underflow vulnerability exists in the `nextstate()`
        function in `gpsd/packet.c`.
        When parsing a NAVCOM packet, the payload length is calculated
        using `lexer->length = (size_t)c - 4` without checking if
        the input byte `c` is less than 4. This results in an unsigned
        integer underflow, setting `lexer->length` to a very large value
        (near `SIZE_MAX`). The parser then enters a loop attempting to
        consume this massive number of bytes, causing 100% CPU utilization
        and a Denial of Service (DoS) condition.

    For Debian 11 bullseye, these problems have been fixed in version
    3.22-4+deb11u1.

    We recommend that you upgrade your gpsd packages.

    For the detailed security status of gpsd please refer to
    its security tracker page at:
    https://security-tracker.debian.org/tracker/gpsd

    Further information about Debian LTS security advisories, how to apply
    these updates to your system and frequently asked questions can be
    found at: https://wiki.debian.org/LTS

Tenable has extracted the preceding description block directly from the Debian security advisory.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/source-package/gpsd");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2025-67268");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2025-67269");
  script_set_attribute(attribute:"see_also", value:"https://packages.debian.org/source/bullseye/gpsd");
  script_set_attribute(attribute:"solution", value:
"Upgrade the gpsd packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/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:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2025-67268");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/01/02");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/01/19");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/01/19");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:gpsd");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:gpsd-clients");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:gpsd-tools");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libgps-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libgps28");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libqgpsmm-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libqgpsmm28");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:python3-gps");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:11.0");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_set_attribute(attribute:"stig_severity", value:"II");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Debian Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");

  exit(0);
}

include('debian_package.inc');

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);

var debian_release = get_kb_item('Host/Debian/release');
if ( isnull(debian_release) ) audit(AUDIT_OS_NOT, 'Debian');
debian_release = chomp(debian_release);
if (! preg(pattern:"^(11)\.[0-9]+", string:debian_release)) audit(AUDIT_OS_NOT, 'Debian 11.0', 'Debian ' + debian_release);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Debian', cpu);

var pkgs = [
    {'release': '11.0', 'prefix': 'gpsd', 'reference': '3.22-4+deb11u1'},
    {'release': '11.0', 'prefix': 'gpsd-clients', 'reference': '3.22-4+deb11u1'},
    {'release': '11.0', 'prefix': 'gpsd-tools', 'reference': '3.22-4+deb11u1'},
    {'release': '11.0', 'prefix': 'libgps-dev', 'reference': '3.22-4+deb11u1'},
    {'release': '11.0', 'prefix': 'libgps28', 'reference': '3.22-4+deb11u1'},
    {'release': '11.0', 'prefix': 'libqgpsmm-dev', 'reference': '3.22-4+deb11u1'},
    {'release': '11.0', 'prefix': 'libqgpsmm28', 'reference': '3.22-4+deb11u1'},
    {'release': '11.0', 'prefix': 'python3-gps', 'reference': '3.22-4+deb11u1'}
];

var flag = 0;
foreach package_array ( pkgs ) {
  var _release = NULL;
  var prefix = NULL;
  var reference = NULL;
  if (!empty_or_null(package_array['release'])) _release = package_array['release'];
  if (!empty_or_null(package_array['prefix'])) prefix = package_array['prefix'];
  if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
  if (_release && prefix && reference) {
    if (deb_check(release:_release, prefix:prefix, reference:reference)) flag++;
  }
}

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_HOLE,
    extra      : deb_report_get()
  );
  exit(0);
}
else
{
  var tested = deb_pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'gpsd / gpsd-clients / gpsd-tools / libgps-dev / libgps28 / etc');
}

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

19 Jan 2026 00:00Current
6.2Medium risk
Vulners AI Score6.2
CVSS 3.19.8
EPSS0.00674
SSVC
3