Vulnerabilities > CVE-2006-4246 - Unspecified vulnerability in Usermin

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN
usermin
nessus

Summary

Usermin before 1.220 (20060629) allows remote attackers to read arbitrary files, possibly related to chfn/save.cgi not properly handling an empty shell parameter, which results in changing root's shell instead of the shell of a specified user.

Nessus

NASL familyDebian Local Security Checks
NASL idDEBIAN_DSA-1177.NASL
descriptionHendrik Weimer discovered that it is possible for a normal user to disable the login shell of the root account via usermin, a web-based administration tool.
last seen2020-06-01
modified2020-06-02
plugin id22719
published2006-10-14
reporterThis script is Copyright (C) 2006-2019 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/22719
titleDebian DSA-1177-1 : usermin - programming error
code
#%NASL_MIN_LEVEL 80502

#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were  
# extracted from Debian Security Advisory DSA-1177. The text 
# itself is copyright (C) Software in the Public Interest, Inc.
#

include("compat.inc");

if (description)
{
  script_id(22719);
  script_version("1.12");
  script_cvs_date("Date: 2019/08/02 13:32:19");

  script_cve_id("CVE-2006-4246");
  script_xref(name:"DSA", value:"1177");

  script_name(english:"Debian DSA-1177-1 : usermin - programming error");
  script_summary(english:"Checks dpkg output for the updated package");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Debian host is missing a security-related update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Hendrik Weimer discovered that it is possible for a normal user to
disable the login shell of the root account via usermin, a web-based
administration tool."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374609"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.debian.org/security/2006/dsa-1177"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"Upgrade the usermin package.

For the stable distribution (sarge) this problem has been fixed in
version 1.110-3.1.

In the upstream distribution this problem is fixed in version 1.220."
  );
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:N/A:P");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:usermin");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:3.1");

  script_set_attribute(attribute:"patch_publication_date", value:"2006/09/15");
  script_set_attribute(attribute:"plugin_publication_date", value:"2006/10/14");
  script_set_attribute(attribute:"vuln_publication_date", value:"2006/06/20");
  script_end_attributes();

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

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");

  exit(0);
}


include("audit.inc");
include("debian_package.inc");


if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);


flag = 0;
if (deb_check(release:"3.1", prefix:"usermin", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-at", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-changepass", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-chfn", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-commands", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-cron", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-cshrc", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-fetchmail", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-forward", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-gnupg", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-htaccess", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-htpasswd", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-mailbox", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-man", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-mysql", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-plan", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-postgresql", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-proc", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-procmail", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-quota", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-schedule", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-shell", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-spamassassin", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-ssh", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-tunnel", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-updown", reference:"1.110-3.1")) flag++;
if (deb_check(release:"3.1", prefix:"usermin-usermount", reference:"1.110-3.1")) flag++;

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