Lucene search

K
nessusThis script is Copyright (C) 2016-2021 Tenable Network Security, Inc.GENTOO_GLSA-201607-13.NASL
HistoryJul 21, 2016 - 12:00 a.m.

GLSA-201607-13 : libbsd: Arbitrary code execution

2016-07-2100:00:00
This script is Copyright (C) 2016-2021 Tenable Network Security, Inc.
www.tenable.com
11

The remote host is affected by the vulnerability described in GLSA-201607-13 (libbsd: Arbitrary code execution)

libbsd contains a buffer overflow in the fgetwln() function. An if       statement, which is responsible for checking the necessity to reallocate       memory in the target buffer, is off by one therefore an out of bounds       write occurs.

Impact :

Remote attackers could potentially execute arbitrary code with the       privileges of the process.

Workaround :

There is no known workaround at this time.
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 201607-13.
#
# The advisory text is Copyright (C) 2001-2017 Gentoo Foundation, Inc.
# and licensed under the Creative Commons - Attribution / Share Alike 
# license. See http://creativecommons.org/licenses/by-sa/3.0/
#

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

if (description)
{
  script_id(92483);
  script_version("2.4");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/11");

  script_cve_id("CVE-2016-2090");
  script_xref(name:"GLSA", value:"201607-13");

  script_name(english:"GLSA-201607-13 : libbsd: Arbitrary code execution");
  script_summary(english:"Checks for updated package(s) in /var/db/pkg");

  script_set_attribute(
    attribute:"synopsis", 
    value:
"The remote Gentoo host is missing one or more security-related
patches."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"The remote host is affected by the vulnerability described in GLSA-201607-13
(libbsd: Arbitrary code execution)

    libbsd contains a buffer overflow in the fgetwln() function. An if
      statement, which is responsible for checking the necessity to reallocate
      memory in the target buffer, is off by one therefore an out of bounds
      write occurs.
  
Impact :

    Remote attackers could potentially execute arbitrary code with the
      privileges of the process.
  
Workaround :

    There is no known workaround at this time."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/201607-13"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All libbsd users should upgrade to the latest version:
      # emerge --sync
      # emerge --ask --verbose --oneshot '>=dev-libs/libbsd-0.8.2'"
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
  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_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:libbsd");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2016/07/20");
  script_set_attribute(attribute:"plugin_publication_date", value:"2016/07/21");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2016-2021 Tenable Network Security, Inc.");
  script_family(english:"Gentoo Local Security Checks");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list");

  exit(0);
}


include("audit.inc");
include("global_settings.inc");
include("qpkg.inc");

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo");
if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING);


flag = 0;

if (qpkg_check(package:"dev-libs/libbsd", unaffected:make_list("ge 0.8.2"), vulnerable:make_list("lt 0.8.2"))) flag++;

if (flag)
{
  if (report_verbosity > 0) security_hole(port:0, extra:qpkg_report_get());
  else security_hole(0);
  exit(0);
}
else
{
  tested = qpkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "libbsd");
}
VendorProductVersionCPE
gentoolinuxlibbsdp-cpe:/a:gentoo:linux:libbsd
gentoolinuxcpe:/o:gentoo:linux