GLSA-201511-01 : MirBSD Korn Shell: Arbitrary code execution

2015-11-03T00:00:00
ID GENTOO_GLSA-201511-01.NASL
Type nessus
Reporter Tenable
Modified 2015-11-03T00:00:00

Description

The remote host is affected by the vulnerability described in GLSA-201511-01 (MirBSD Korn Shell: Arbitrary code execution)

Improper sanitation of environment import allows for appending of values       to passed parameters.

Impact :

An attacker who already had access to the environment could so append       values to parameters passed through programs (including sudo(8) or       setuid) to shell scripts, including indirectly, after those programs       intended to sanitise the environment, e.g. invalidating the last $PATH       component.

Workaround :

There is no known workaround at this time.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 201511-01.
#
# 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(86701);
  script_version("$Revision: 2.1 $");
  script_cvs_date("$Date: 2015/11/03 14:41:37 $");

  script_xref(name:"GLSA", value:"201511-01");

  script_name(english:"GLSA-201511-01 : MirBSD Korn Shell: Arbitrary code execution");
  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-201511-01
(MirBSD Korn Shell: Arbitrary code execution)

    Improper sanitation of environment import allows for appending of values
      to passed parameters.
  
Impact :

    An attacker who already had access to the environment could so append
      values to parameters passed through programs (including sudo(8) or
      setuid) to shell scripts, including indirectly, after those programs
      intended to sanitise the environment, e.g. invalidating the last $PATH
      component.
  
Workaround :

    There is no known workaround at this time."
  );
  # https://www.mirbsd.org/permalinks/wlog-10_e20141003-tg.htm#e20141003-tg_wlog-10
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?72ae2b87"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/201511-01"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All mksh users should upgrade to the latest version:
      # emerge --sync
      # emerge --ask --oneshot --verbose '>=app-shells/mksh-50c'"
  );
  script_set_attribute(attribute:"risk_factor", value:"Medium");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:mksh");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2015/11/02");
  script_set_attribute(attribute:"plugin_publication_date", value:"2015/11/03");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2015 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:"app-shells/mksh", unaffected:make_list("ge 50c"), vulnerable:make_list("lt 50c"))) flag++;

if (flag)
{
  if (report_verbosity > 0) security_warning(port:0, extra:qpkg_report_get());
  else security_warning(0);
  exit(0);
}
else
{
  tested = qpkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "MirBSD Korn Shell");
}