Mandrake Linux Security Advisory : rp-pppoe (MDKSA-2004:145)

2004-12-07T00:00:00
ID MANDRAKE_MDKSA-2004-145.NASL
Type nessus
Reporter Tenable
Modified 2018-07-19T00:00:00

Description

Max Vozeler discovered that when pppoe, part of the rp-pppoe package, is running setuid root, an attacker can overwrite any file on the system. Mandrakelinux does not install pppoe setuid, nor is it meant to be run setuid. Regardless, the packages have been patched to prevent this problem.

                                        
                                            #%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:145. 
# The text itself is copyright (C) Mandriva S.A.
#

include("compat.inc");

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

  script_cve_id("CVE-2004-0564");
  script_xref(name:"MDKSA", value:"2004:145");

  script_name(english:"Mandrake Linux Security Advisory : rp-pppoe (MDKSA-2004:145)");
  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:
"Max Vozeler discovered that when pppoe, part of the rp-pppoe package,
is running setuid root, an attacker can overwrite any file on the
system. Mandrakelinux does not install pppoe setuid, nor is it meant
to be run setuid. Regardless, the packages have been patched to
prevent this problem."
  );
  script_set_attribute(
    attribute:"solution", 
    value:"Update the affected rp-pppoe and / or rp-pppoe-gui packages."
  );
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:N/I:P/A:N");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:rp-pppoe");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:rp-pppoe-gui");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:10.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:10.1");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:9.2");

  script_set_attribute(attribute:"patch_publication_date", value:"2004/12/06");
  script_set_attribute(attribute:"plugin_publication_date", value:"2004/12/07");
  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:"rp-pppoe-3.5-3.1.100mdk", yank:"mdk")) flag++;
if (rpm_check(release:"MDK10.0", reference:"rp-pppoe-gui-3.5-3.1.100mdk", yank:"mdk")) flag++;

if (rpm_check(release:"MDK10.1", reference:"rp-pppoe-3.5-4.1.101mdk", yank:"mdk")) flag++;
if (rpm_check(release:"MDK10.1", reference:"rp-pppoe-gui-3.5-4.1.101mdk", yank:"mdk")) flag++;

if (rpm_check(release:"MDK9.2", reference:"rp-pppoe-3.5-3.1.92mdk", yank:"mdk")) flag++;
if (rpm_check(release:"MDK9.2", reference:"rp-pppoe-gui-3.5-3.1.92mdk", yank:"mdk")) flag++;


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