GLSA-200407-21 : Samba: Multiple buffer overflows

2004-08-30T00:00:00
ID GENTOO_GLSA-200407-21.NASL
Type nessus
Reporter Tenable
Modified 2018-11-19T00:00:00

Description

The remote host is affected by the vulnerability described in GLSA-200407-21 (Samba: Multiple buffer overflows)

Evgeny Demidov found a buffer overflow in SWAT, located in the base64 data     decoder used to handle HTTP basic authentication (CAN-2004-0600). The same     flaw is present in the code used to handle the sambaMungedDial attribute     value, when using the ldapsam passdb backend. Another buffer overflow was     found in the code used to support the 'mangling method = hash' smb.conf     option (CAN-2004-0686). Note that the default Samba value for this option     is 'mangling method = hash2' which is not vulnerable.

Impact :

The SWAT authentication overflow could be exploited to execute arbitrary     code with the rights of the Samba daemon process. The overflow in the     sambaMungedDial handling code is not thought to be exploitable. The buffer     overflow in 'mangling method = hash' code could also be used to execute     arbitrary code on vulnerable configurations.

Workaround :

Users disabling SWAT, not using ldapsam passdb backends and not using the     'mangling method = hash' option are not vulnerable.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 200407-21.
#
# 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(14554);
  script_version("1.16");
  script_cvs_date("Date: 2018/11/19 11:02:41");

  script_cve_id("CVE-2004-0600", "CVE-2004-0686");
  script_xref(name:"GLSA", value:"200407-21");

  script_name(english:"GLSA-200407-21 : Samba: Multiple buffer overflows");
  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-200407-21
(Samba: Multiple buffer overflows)

    Evgeny Demidov found a buffer overflow in SWAT, located in the base64 data
    decoder used to handle HTTP basic authentication (CAN-2004-0600). The same
    flaw is present in the code used to handle the sambaMungedDial attribute
    value, when using the ldapsam passdb backend. Another buffer overflow was
    found in the code used to support the 'mangling method = hash' smb.conf
    option (CAN-2004-0686). Note that the default Samba value for this option
    is 'mangling method = hash2' which is not vulnerable.
  
Impact :

    The SWAT authentication overflow could be exploited to execute arbitrary
    code with the rights of the Samba daemon process. The overflow in the
    sambaMungedDial handling code is not thought to be exploitable. The buffer
    overflow in 'mangling method = hash' code could also be used to execute
    arbitrary code on vulnerable configurations.
  
Workaround :

    Users disabling SWAT, not using ldapsam passdb backends and not using the
    'mangling method = hash' option are not vulnerable."
  );
  # http://www.samba.org/samba/whatsnew/samba-3.0.5.html
  script_set_attribute(
    attribute:"see_also",
    value:"https://www.samba.org/samba/history/samba-3.0.5.html"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/200407-21"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All Samba users should upgrade to the latest version:
    # emerge sync
    # emerge -pv '>=net-fs/samba-3.0.5'
    # emerge '>=net-fs/samba-3.0.5'"
  );
  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:samba");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2004/07/29");
  script_set_attribute(attribute:"plugin_publication_date", value:"2004/08/30");
  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:"net-fs/samba", unaffected:make_list("ge 3.0.5"), vulnerable:make_list("le 3.0.4-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, "Samba");
}