GLSA-200509-15 : util-linux: umount command validation error

2005-10-05T00:00:00
ID GENTOO_GLSA-200509-15.NASL
Type nessus
Reporter Tenable
Modified 2018-08-10T00:00:00

Description

The remote host is affected by the vulnerability described in GLSA-200509-15 (util-linux: umount command validation error)

When a regular user mounts a filesystem, they are subject to     restrictions in the /etc/fstab configuration file. David Watson     discovered that when unmounting a filesystem with the '-r' option, the     read-only bit is set, while other bits, such as nosuid or nodev, are     not set, even if they were previously.

Impact :

An unprivileged user facing nosuid or nodev restrictions can     umount -r a filesystem clearing those bits, allowing applications to be     executed suid, or have device nodes interpreted. In the case where the     user can freely modify the contents of the filesystem, privilege     escalation may occur as a custom program may execute with suid     permissions.

Workaround :

Two workarounds exist, first, the suid bit can be removed from the     umount utility, or users can be restricted from mounting and unmounting     filesystems in /etc/fstab.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 200509-15.
#
# The advisory text is Copyright (C) 2001-2015 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(19814);
  script_version("1.13");
  script_cvs_date("Date: 2018/08/10 18:07:06");

  script_cve_id("CVE-2005-2876");
  script_xref(name:"GLSA", value:"200509-15");

  script_name(english:"GLSA-200509-15 : util-linux: umount command validation error");
  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-200509-15
(util-linux: umount command validation error)

    When a regular user mounts a filesystem, they are subject to
    restrictions in the /etc/fstab configuration file. David Watson
    discovered that when unmounting a filesystem with the '-r' option, the
    read-only bit is set, while other bits, such as nosuid or nodev, are
    not set, even if they were previously.
  
Impact :

    An unprivileged user facing nosuid or nodev restrictions can
    umount -r a filesystem clearing those bits, allowing applications to be
    executed suid, or have device nodes interpreted. In the case where the
    user can freely modify the contents of the filesystem, privilege
    escalation may occur as a custom program may execute with suid
    permissions.
  
Workaround :

    Two workarounds exist, first, the suid bit can be removed from the
    umount utility, or users can be restricted from mounting and unmounting
    filesystems in /etc/fstab."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/200509-15"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All util-linux users should upgrade to the latest version:
    # emerge --sync
    # emerge --ask --oneshot --verbose '>=sys-apps/util-linux-2.12q-r3'"
  );
  script_set_cvss_base_vector("CVSS2#AV:L/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:util-linux");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2005/09/20");
  script_set_attribute(attribute:"plugin_publication_date", value:"2005/10/05");
  script_set_attribute(attribute:"vuln_publication_date", value:"2005/09/12");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2005-2018 Tenable Network Security, Inc.");
  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:"sys-apps/util-linux", unaffected:make_list("ge 2.12q-r3"), vulnerable:make_list("lt 2.12q-r3"))) 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, "util-linux");
}