Mandrake Linux Security Advisory : mpg123 (MDKSA-2004:100)

2004-09-23T00:00:00
ID MANDRAKE_MDKSA-2004-100.NASL
Type nessus
Reporter Tenable
Modified 2018-07-19T00:00:00

Description

A vulnerability in mpg123 was discovered by Davide Del Vecchio where certain malicious mpg3/2 files would cause mpg123 to fail header checks, which could in turn allow arbitrary code to be executed with the privileges of the user running mpg123 (CVE-2004-0805).

As well, an older vulnerability in mpg123, where a response from a remote HTTP server could overflow a buffer allocated on the heap, is also fixed in these packages. This vulnerability could also potentially permit the execution of arbitrary code with the privileges of the user running mpg123 (CVE-2003-0865).

                                        
                                            #%NASL_MIN_LEVEL 70103

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

include("compat.inc");

if (description)
{
  script_id(14794);
  script_version ("1.17");
  script_cvs_date("Date: 2018/07/19 20:59:13");

  script_cve_id("CVE-2003-0865", "CVE-2004-0805");
  script_xref(name:"MDKSA", value:"2004:100");

  script_name(english:"Mandrake Linux Security Advisory : mpg123 (MDKSA-2004:100)");
  script_summary(english:"Checks rpm output for the updated package");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Mandrake Linux host is missing a security update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"A vulnerability in mpg123 was discovered by Davide Del Vecchio where
certain malicious mpg3/2 files would cause mpg123 to fail header
checks, which could in turn allow arbitrary code to be executed with
the privileges of the user running mpg123 (CVE-2004-0805).

As well, an older vulnerability in mpg123, where a response from a
remote HTTP server could overflow a buffer allocated on the heap, is
also fixed in these packages. This vulnerability could also
potentially permit the execution of arbitrary code with the privileges
of the user running mpg123 (CVE-2003-0865)."
  );
  script_set_attribute(
    attribute:"solution", 
    value:"Update the affected mpg123 package."
  );
  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:mpg123");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:10.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:9.2");

  script_set_attribute(attribute:"patch_publication_date", value:"2004/09/22");
  script_set_attribute(attribute:"plugin_publication_date", value:"2004/09/23");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2004-2018 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:"MDK10.0", reference:"mpg123-0.59r-21.1.100mdk", yank:"mdk")) flag++;

if (rpm_check(release:"MDK9.2", reference:"mpg123-0.59r-21.1.92mdk", 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");