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

2005-10-05T00:00:00
ID GENTOO_GLSA-200509-15.NASL
Type nessus
Reporter This script is Copyright (C) 2005-2019 Tenable Network Security, Inc.
Modified 2020-10-02T00: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.

                                        
                                            #%NASL_MIN_LEVEL 80502
#
# (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.14");
  script_cvs_date("Date: 2019/08/02 13:32:42");

  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-2019 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");
}