Lucene search

K
nessusUbuntu Security Notice (C) 2020-2023 Canonical, Inc. / NASL script (C) 2020-2023 and is owned by Tenable, Inc. or an Affiliate thereof.UBUNTU_USN-4615-1.NASL
HistoryNov 04, 2020 - 12:00 a.m.

Ubuntu 16.04 LTS : Yerase's TNEF vulnerabilities (USN-4615-1)

2020-11-0400:00:00
Ubuntu Security Notice (C) 2020-2023 Canonical, Inc. / NASL script (C) 2020-2023 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
18

The remote Ubuntu 16.04 LTS host has packages installed that are affected by multiple vulnerabilities as referenced in the USN-4615-1 advisory.

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 1 of 9. Null Pointer Deref / calloc return value not checked. (CVE-2017-6298)

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 2 of 9. Infinite Loop / DoS in the TNEFFillMapi function in lib/ytnef.c. (CVE-2017-6299)

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 3 of 9. Buffer Overflow in version field in lib/tnef-types.h. (CVE-2017-6300)

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 4 of 9. Out of Bounds Reads. (CVE-2017-6301)

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 5 of 9. Integer Overflow. (CVE-2017-6302)

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 6 of 9. Invalid Write and Integer Overflow. (CVE-2017-6303)

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 7 of 9. Out of Bounds read. (CVE-2017-6304)

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 8 of 9. Out of Bounds read and write. (CVE-2017-6305)

  • An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 9 of 9. Directory Traversal using the filename; SanitizeFilename function in settings.c. (CVE-2017-6306)

  • An issue was discovered in ytnef before 1.9.2. An invalid memory access (heap-based buffer over-read) can occur during handling of LONG data types, related to MAPIPrint() in libytnef. (CVE-2017-6800)

  • An issue was discovered in ytnef before 1.9.2. There is a potential out-of-bounds access with fields of Size 0 in TNEFParse() in libytnef. (CVE-2017-6801)

  • An issue was discovered in ytnef before 1.9.2. There is a potential heap-based buffer over-read on incoming Compressed RTF Streams, related to DecompressRTF() in libytnef. (CVE-2017-6802)

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

##
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Ubuntu Security Notice USN-4615-1. The text
# itself is copyright (C) Canonical, Inc. See
# <http://www.ubuntu.com/usn/>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
##

include('compat.inc');

if (description)
{
  script_id(142370);
  script_version("1.5");
  script_set_attribute(attribute:"plugin_modification_date", value:"2023/10/20");

  script_cve_id(
    "CVE-2017-6298",
    "CVE-2017-6299",
    "CVE-2017-6300",
    "CVE-2017-6301",
    "CVE-2017-6302",
    "CVE-2017-6303",
    "CVE-2017-6304",
    "CVE-2017-6305",
    "CVE-2017-6306",
    "CVE-2017-6800",
    "CVE-2017-6801",
    "CVE-2017-6802"
  );
  script_bugtraq_id(96423);
  script_xref(name:"USN", value:"4615-1");

  script_name(english:"Ubuntu 16.04 LTS : Yerase's TNEF vulnerabilities (USN-4615-1)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The remote Ubuntu 16.04 LTS host has packages installed that are affected by multiple vulnerabilities as referenced in
the USN-4615-1 advisory.

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 1 of 9. Null
    Pointer Deref / calloc return value not checked. (CVE-2017-6298)

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 2 of 9. Infinite
    Loop / DoS in the TNEFFillMapi function in lib/ytnef.c. (CVE-2017-6299)

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 3 of 9. Buffer
    Overflow in version field in lib/tnef-types.h. (CVE-2017-6300)

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 4 of 9. Out of
    Bounds Reads. (CVE-2017-6301)

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 5 of 9. Integer
    Overflow. (CVE-2017-6302)

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 6 of 9. Invalid
    Write and Integer Overflow. (CVE-2017-6303)

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 7 of 9. Out of
    Bounds read. (CVE-2017-6304)

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 8 of 9. Out of
    Bounds read and write. (CVE-2017-6305)

  - An issue was discovered in ytnef before 1.9.1. This is related to a patch described as 9 of 9. Directory
    Traversal using the filename; SanitizeFilename function in settings.c. (CVE-2017-6306)

  - An issue was discovered in ytnef before 1.9.2. An invalid memory access (heap-based buffer over-read) can
    occur during handling of LONG data types, related to MAPIPrint() in libytnef. (CVE-2017-6800)

  - An issue was discovered in ytnef before 1.9.2. There is a potential out-of-bounds access with fields of
    Size 0 in TNEFParse() in libytnef. (CVE-2017-6801)

  - An issue was discovered in ytnef before 1.9.2. There is a potential heap-based buffer over-read on
    incoming Compressed RTF Streams, related to DecompressRTF() in libytnef. (CVE-2017-6802)

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://ubuntu.com/security/notices/USN-4615-1");
  script_set_attribute(attribute:"solution", value:
"Update the affected libytnef0 and / or libytnef0-dev packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/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-2017-6306");

  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:"2017/02/23");
  script_set_attribute(attribute:"patch_publication_date", value:"2020/11/03");
  script_set_attribute(attribute:"plugin_publication_date", value:"2020/11/04");

  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:"p-cpe:/a:canonical:ubuntu_linux:libytnef0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libytnef0-dev");
  script_end_attributes();

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

  script_copyright(english:"Ubuntu Security Notice (C) 2020-2023 Canonical, Inc. / NASL script (C) 2020-2023 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/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);
var os_release = get_kb_item('Host/Ubuntu/release');
if ( isnull(os_release) ) audit(AUDIT_OS_NOT, 'Ubuntu');
os_release = chomp(os_release);
if (! ('16.04' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 16.04', 'Ubuntu ' + os_release);
if ( ! get_kb_item('Host/Debian/dpkg-l') ) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Ubuntu', cpu);

var pkgs = [
    {'osver': '16.04', 'pkgname': 'libytnef0', 'pkgver': '1.5-9ubuntu0.1'},
    {'osver': '16.04', 'pkgname': 'libytnef0-dev', 'pkgver': '1.5-9ubuntu0.1'}
];

var flag = 0;
foreach package_array ( pkgs ) {
  var osver = NULL;
  var pkgname = NULL;
  var pkgver = NULL;
  if (!empty_or_null(package_array['osver'])) osver = package_array['osver'];
  if (!empty_or_null(package_array['pkgname'])) pkgname = package_array['pkgname'];
  if (!empty_or_null(package_array['pkgver'])) pkgver = package_array['pkgver'];
  if (osver && pkgname && pkgver) {
    if (ubuntu_check(osver:osver, pkgname:pkgname, pkgver:pkgver)) flag++;
  }
}

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    extra      : ubuntu_report_get()
  );
  exit(0);
}
else
{
  var tested = ubuntu_pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'libytnef0 / libytnef0-dev');
}
VendorProductVersionCPE
canonicalubuntu_linux16.04cpe:/o:canonical:ubuntu_linux:16.04:-:lts
canonicalubuntu_linuxlibytnef0p-cpe:/a:canonical:ubuntu_linux:libytnef0
canonicalubuntu_linuxlibytnef0-devp-cpe:/a:canonical:ubuntu_linux:libytnef0-dev