Mandrake Linux Security Advisory : zlib (MDKSA-2002:022)

2004-07-31T00:00:00
ID MANDRAKE_MDKSA-2002-022.NASL
Type nessus
Reporter Tenable
Modified 2013-05-31T00:00:00

Description

Matthias Clasen found a security issue in zlib that, when provided with certain input, causes zlib to free an area of memory twice. This 'double free' bug can be used to crash any programs that take untrusted compressed input, such as web browsers, email clients, image viewing software, etc. This vulnerability can be used to perform Denial of Service attacks and, quite possibly, the execution of arbitrary code on the affected system.

MandrakeSoft has published two advisories concerning this incident :

MDKSA-2002:022 - zlib MDKSA-2002:023 - packages containing zlib

The second advisory contains additional packages that bring their own copies of the zlib source, and as such need to be fixed and rebuilt. Updating the zlib library is sufficient to protect those programs that use the system zlib, but the packages as noted in MDKSA-2002:023 will need to be updated for those packages that do not use the system zlib.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were  
# extracted from Mandrake Linux Security Advisory MDKSA-2002:022. 
# The text itself is copyright (C) Mandriva S.A.
#

include("compat.inc");

if (description)
{
  script_id(13930);
  script_version ("$Revision: 1.15 $");
  script_cvs_date("$Date: 2013/05/31 23:43:26 $");

  script_cve_id("CVE-2002-0059");
  script_xref(name:"CERT", value:"368819");
  script_xref(name:"MDKSA", value:"2002:022");

  script_name(english:"Mandrake Linux Security Advisory : zlib (MDKSA-2002:022)");
  script_summary(english:"Checks rpm output for the updated packages");

  script_set_attribute(
    attribute:"synopsis", 
    value:
"The remote Mandrake Linux host is missing one or more security
updates."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Matthias Clasen found a security issue in zlib that, when provided
with certain input, causes zlib to free an area of memory twice. This
'double free' bug can be used to crash any programs that take
untrusted compressed input, such as web browsers, email clients, image
viewing software, etc. This vulnerability can be used to perform
Denial of Service attacks and, quite possibly, the execution of
arbitrary code on the affected system.

MandrakeSoft has published two advisories concerning this incident :

MDKSA-2002:022 - zlib MDKSA-2002:023 - packages containing zlib

The second advisory contains additional packages that bring their own
copies of the zlib source, and as such need to be fixed and rebuilt.
Updating the zlib library is sufficient to protect those programs that
use the system zlib, but the packages as noted in MDKSA-2002:023 will
need to be updated for those packages that do not use the system zlib."
  );
  script_set_attribute(attribute:"solution", value:"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:zlib");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:zlib-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:zlib1");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:zlib1-devel");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:7.1");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:7.2");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:8.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:8.1");

  script_set_attribute(attribute:"patch_publication_date", value:"2002/03/12");
  script_set_attribute(attribute:"plugin_publication_date", value:"2004/07/31");
  script_end_attributes();

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/Mandrake/release", "Host/Mandrake/rpm-list");

  exit(0);
}


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


if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Mandrake/release")) audit(AUDIT_OS_NOT, "Mandriva / Mandake Linux");
if (!get_kb_item("Host/Mandrake/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);

cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if (cpu !~ "^(amd64|i[3-6]86|x86_64)$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Mandriva / Mandrake Linux", cpu);


flag = 0;
if (rpm_check(release:"MDK7.1", cpu:"i386", reference:"zlib-1.1.3-11.1mdk", yank:"mdk")) flag++;
if (rpm_check(release:"MDK7.1", cpu:"i386", reference:"zlib-devel-1.1.3-11.1mdk", yank:"mdk")) flag++;

if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"zlib-1.1.3-11.1mdk", yank:"mdk")) flag++;
if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"zlib-devel-1.1.3-11.1mdk", yank:"mdk")) flag++;

if (rpm_check(release:"MDK8.0", cpu:"i386", reference:"zlib1-1.1.3-16.1mdk", yank:"mdk")) flag++;
if (rpm_check(release:"MDK8.0", cpu:"i386", reference:"zlib1-devel-1.1.3-16.1mdk", yank:"mdk")) flag++;

if (rpm_check(release:"MDK8.1", cpu:"i386", reference:"zlib1-1.1.3-16.1mdk", yank:"mdk")) flag++;
if (rpm_check(release:"MDK8.1", cpu:"i386", reference:"zlib1-devel-1.1.3-16.1mdk", yank:"mdk")) flag++;


if (flag)
{
  if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
  else security_hole(0);
  exit(0);
}
else audit(AUDIT_HOST_NOT, "affected");