GLSA-200411-05 : libxml2: Remotely exploitable buffer overflow

2004-11-03T00:00:00
ID GENTOO_GLSA-200411-05.NASL
Type nessus
Reporter Tenable
Modified 2018-11-19T00:00:00

Description

The remote host is affected by the vulnerability described in GLSA-200411-05 (libxml2: Remotely exploitable buffer overflow)

Multiple buffer overflows have been detected in the nanoftp and nanohttp     modules. These modules are responsible for parsing URLs with ftp     information, and resolving names via DNS.

Impact :

An attacker could exploit an application that uses libxml2 by forcing it to     parse a specially crafted XML file, potentially causing remote execution of     arbitrary code.

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 200411-05.
#
# The advisory text is Copyright (C) 2001-2018 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(15610);
  script_version("1.18");
  script_cvs_date("Date: 2018/11/19 11:02:41");

  script_cve_id("CVE-2004-0989");
  script_xref(name:"GLSA", value:"200411-05");

  script_name(english:"GLSA-200411-05 : libxml2: Remotely exploitable buffer overflow");
  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-200411-05
(libxml2: Remotely exploitable buffer overflow)

    Multiple buffer overflows have been detected in the nanoftp and nanohttp
    modules. These modules are responsible for parsing URLs with ftp
    information, and resolving names via DNS.
  
Impact :

    An attacker could exploit an application that uses libxml2 by forcing it to
    parse a specially crafted XML file, potentially causing remote execution of
    arbitrary code.
  
Workaround :

    There is no known workaround at this time."
  );
  # http://www.securityfocus.com/archive/1/379383
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.securityfocus.com/archive/1/379383"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.xmlsoft.org/ChangeLog.html"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/200411-05"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All libxml2 users should upgrade to the latest version:
    # emerge --sync
    # emerge --ask --oneshot --verbose '>=dev-libs/libxml2-2.6.15'"
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");

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

  script_set_attribute(attribute:"patch_publication_date", value:"2004/11/02");
  script_set_attribute(attribute:"plugin_publication_date", value:"2004/11/03");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2004-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
  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/libxml2", unaffected:make_list("ge 2.6.15"), vulnerable:make_list("lt 2.6.15"))) 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, "libxml2");
}