GLSA-200703-17 : ulogd: Remote execution of arbitrary code

2007-03-19T00:00:00
ID GENTOO_GLSA-200703-17.NASL
Type nessus
Reporter Tenable
Modified 2015-04-13T00:00:00

Description

The remote host is affected by the vulnerability described in GLSA-200703-17 (ulogd: Remote execution of arbitrary code)

SUSE reported unspecified buffer overflows in ulogd involving the     calculation of string lengths.

Impact :

A remote attacker could trigger a possible buffer overflow through     unspecified vectors, potentially leading to the remote execution of     arbitrary code with the rights of the user running the ulogd daemon, or     more probably leading to the crash of the daemon.

Workaround :

There is no known workaround at this time.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 200703-17.
#
# The advisory text is Copyright (C) 2001-2015 Gentoo Foundation, Inc.
# and licensed under the Creative Commons - Attribution / Share Alike 
# license. See http://creativecommons.org/licenses/by-sa/3.0/
#

include("compat.inc");

if (description)
{
  script_id(24866);
  script_version("$Revision: 1.11 $");
  script_cvs_date("$Date: 2015/04/13 13:56:53 $");

  script_cve_id("CVE-2007-0460");
  script_osvdb_id(32939);
  script_xref(name:"GLSA", value:"200703-17");

  script_name(english:"GLSA-200703-17 : ulogd: Remote execution of arbitrary code");
  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-200703-17
(ulogd: Remote execution of arbitrary code)

    SUSE reported unspecified buffer overflows in ulogd involving the
    calculation of string lengths.
  
Impact :

    A remote attacker could trigger a possible buffer overflow through
    unspecified vectors, potentially leading to the remote execution of
    arbitrary code with the rights of the user running the ulogd daemon, or
    more probably leading to the crash of the daemon.
  
Workaround :

    There is no known workaround at this time."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/200703-17"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All ulogd users should upgrade to the latest version:
    # emerge --sync
    # emerge --ask --oneshot --verbose '>=app-admin/ulogd-1.23-r1'"
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_cwe_id(119);

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:ulogd");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2007/03/18");
  script_set_attribute(attribute:"plugin_publication_date", value:"2007/03/19");
  script_set_attribute(attribute:"vuln_publication_date", value:"2007/01/22");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2007-2015 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:"app-admin/ulogd", unaffected:make_list("ge 1.23-r1"), vulnerable:make_list("lt 1.23-r1"))) 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, "ulogd");
}