Lucene search

K
nessusThis script is Copyright (C) 2021 and is owned by Tenable, Inc. or an Affiliate thereof.DEBIAN_DSA-4948.NASL
HistoryAug 01, 2021 - 12:00 a.m.

Debian DSA-4948-1 : aspell - security update

2021-08-0100:00:00
This script is Copyright (C) 2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
13

The remote Debian 10 host has packages installed that are affected by multiple vulnerabilities as referenced in the dsa-4948 advisory.

  • libaspell.a in GNU Aspell before 0.60.8 has a stack-based buffer over-read in acommon::unescape in common/getdata.cpp via an isolated \ character. (CVE-2019-17544)

  • objstack in GNU Aspell 0.60.8 has a heap-based buffer overflow in acommon::ObjStack::dup_top (called from acommon::StringMap::add and acommon::Config::lookup_list). (CVE-2019-25051)

Note that Nessus has not tested for this issue but has instead relied only on the application’s self-reported version number.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Debian Security Advisory dsa-4948. The text
# itself is copyright (C) Software in the Public Interest, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(152169);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/08/01");

  script_cve_id("CVE-2019-17544", "CVE-2019-25051");

  script_name(english:"Debian DSA-4948-1 : aspell - 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 10 host has packages installed that are affected by multiple vulnerabilities as referenced in the
dsa-4948 advisory.

  - libaspell.a in GNU Aspell before 0.60.8 has a stack-based buffer over-read in acommon::unescape in
    common/getdata.cpp via an isolated \ character. (CVE-2019-17544)

  - objstack in GNU Aspell 0.60.8 has a heap-based buffer overflow in acommon::ObjStack::dup_top (called from
    acommon::StringMap::add and acommon::Config::lookup_list). (CVE-2019-25051)

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=991307");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/source-package/aspell");
  script_set_attribute(attribute:"see_also", value:"https://www.debian.org/security/2021/dsa-4948");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2019-17544");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2019-25051");
  script_set_attribute(attribute:"see_also", value:"https://packages.debian.org/source/buster/aspell");
  script_set_attribute(attribute:"solution", value:
"Upgrade the aspell packages.

For the stable distribution (buster), these problems have been fixed in version 0.60.7~20110707-6+deb10u1.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/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:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2019-17544");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2019/10/14");
  script_set_attribute(attribute:"patch_publication_date", value:"2021/08/01");
  script_set_attribute(attribute:"plugin_publication_date", value:"2021/08/01");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:aspell");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:aspell-doc");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libaspell-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libaspell15");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libpspell-dev");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:10.0");
  script_end_attributes();

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

  script_copyright(english:"This script is Copyright (C) 2021 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('audit.inc');
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);

release = get_kb_item('Host/Debian/release');
if ( isnull(release) ) audit(AUDIT_OS_NOT, 'Debian');
release = chomp(release);
if (! preg(pattern:"^(10)\.[0-9]+", string:release)) audit(AUDIT_OS_NOT, 'Debian 10.0', 'Debian ' + release);
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);

pkgs = [
    {'release': '10.0', 'prefix': 'aspell', 'reference': '0.60.7~20110707-6+deb10u1'},
    {'release': '10.0', 'prefix': 'aspell-doc', 'reference': '0.60.7~20110707-6+deb10u1'},
    {'release': '10.0', 'prefix': 'libaspell-dev', 'reference': '0.60.7~20110707-6+deb10u1'},
    {'release': '10.0', 'prefix': 'libaspell15', 'reference': '0.60.7~20110707-6+deb10u1'},
    {'release': '10.0', 'prefix': 'libpspell-dev', 'reference': '0.60.7~20110707-6+deb10u1'}
];

flag = 0;
foreach package_array ( pkgs ) {
  release = NULL;
  prefix = NULL;
  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_WARNING,
    extra      : deb_report_get()
  );
  exit(0);
}
else
{
  tested = deb_pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'aspell / aspell-doc / libaspell-dev / libaspell15 / libpspell-dev');
}
VendorProductVersionCPE
debiandebian_linuxaspellp-cpe:/a:debian:debian_linux:aspell
debiandebian_linuxaspell-docp-cpe:/a:debian:debian_linux:aspell-doc
debiandebian_linuxlibaspell-devp-cpe:/a:debian:debian_linux:libaspell-dev
debiandebian_linuxlibaspell15p-cpe:/a:debian:debian_linux:libaspell15
debiandebian_linuxlibpspell-devp-cpe:/a:debian:debian_linux:libpspell-dev
debiandebian_linux10.0cpe:/o:debian:debian_linux:10.0