Lucene search

K
nessusThis script is Copyright (C) 2012-2021 and is owned by Tenable, Inc. or an Affiliate thereof.SL_20120221_SUDO_ON_SL5_X.NASL
HistoryAug 01, 2012 - 12:00 a.m.

Scientific Linux Security Update : sudo on SL5.x i386/x86_64 (20120221)

2012-08-0100:00:00
This script is Copyright (C) 2012-2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
10

The sudo (superuser do) utility allows system administrators to give certain users the ability to run commands as root.

A flaw was found in the sudo password checking logic. In configurations where the sudoers settings allowed a user to run a command using sudo with only the group ID changed, sudo failed to prompt for the user’s password before running the specified command with the elevated group privileges. (CVE-2011-0010)

In addition, this update fixes the following bugs :

  • A NULL pointer dereference bug caused the sudo utility to terminate unexpectedly with a segmentation fault.
    This happened if the utility was run with the -g option and configured not to demand the password from the user who ran the sudo utility. With this update, the code has been modified and the problem no longer occurs.

  • The sudo utility failed to load sudoers from an LDAP (Lightweight Directory Access Protocol) server after the sudo tool was upgraded. This happened because the upgraded nsswitch.conf file did not contain the instruction to search for sudoers on the LDAP server.
    This update adds the lost instruction to /etc/nsswitch.conf and the system searches for sources of sudoers on the local file system and then on LDAP, if applicable.

  • The sudo tool interpreted a Runas alias specifying a group incorrectly as a user alias and the alias seemed to be ignored. With this update, the code for interpreting such aliases has been modified and the Runas group aliases are honored as expected.

  • Prior to this update, sudo did not parse comment characters (#) in the ldap.conf file correctly and could fail to work. With this update, parsing of the LDAP configuration file has been modified and the comment characters are parsed correctly.

  • The sudo utility formats its output to fit the width of the terminal window. However, this behavior is undesirable if the output is redirected through a pipeline. With this update, the output formatting is not applied in the scenario described.

  • Previously, the sudo utility performed Security-Enhanced Linux (SELinux) related initialization after switching to an unprivileged user. This prevented the correct setup of the SELinux environment before executing the specified command and could potentially cause an access denial. The bug has been fixed by backporting the SELinux related code and the execution model from a newer version of sudo.

  • On execv(3) function failure, the sudo tool executed an auditing call before reporting the failure. The call reset the error state and, consequently, the tool incorrectly reported that the command succeeded. With this update, the code has been modified and the problem no longer occurs.

All users of sudo are advised to upgrade to this updated package, which resolves these issues.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text is (C) Scientific Linux.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(61271);
  script_version("1.6");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/14");

  script_cve_id("CVE-2011-0010");

  script_name(english:"Scientific Linux Security Update : sudo on SL5.x i386/x86_64 (20120221)");
  script_summary(english:"Checks rpm output for the updated packages");

  script_set_attribute(
    attribute:"synopsis", 
    value:
"The remote Scientific Linux host is missing one or more security
updates."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"The sudo (superuser do) utility allows system administrators to give
certain users the ability to run commands as root.

A flaw was found in the sudo password checking logic. In
configurations where the sudoers settings allowed a user to run a
command using sudo with only the group ID changed, sudo failed to
prompt for the user's password before running the specified command
with the elevated group privileges. (CVE-2011-0010)

In addition, this update fixes the following bugs :

  - A NULL pointer dereference bug caused the sudo utility
    to terminate unexpectedly with a segmentation fault.
    This happened if the utility was run with the -g option
    and configured not to demand the password from the user
    who ran the sudo utility. With this update, the code has
    been modified and the problem no longer occurs.

  - The sudo utility failed to load sudoers from an LDAP
    (Lightweight Directory Access Protocol) server after the
    sudo tool was upgraded. This happened because the
    upgraded nsswitch.conf file did not contain the
    instruction to search for sudoers on the LDAP server.
    This update adds the lost instruction to
    /etc/nsswitch.conf and the system searches for sources
    of sudoers on the local file system and then on LDAP, if
    applicable.

  - The sudo tool interpreted a Runas alias specifying a
    group incorrectly as a user alias and the alias seemed
    to be ignored. With this update, the code for
    interpreting such aliases has been modified and the
    Runas group aliases are honored as expected.

  - Prior to this update, sudo did not parse comment
    characters (#) in the ldap.conf file correctly and could
    fail to work. With this update, parsing of the LDAP
    configuration file has been modified and the comment
    characters are parsed correctly.

  - The sudo utility formats its output to fit the width of
    the terminal window. However, this behavior is
    undesirable if the output is redirected through a
    pipeline. With this update, the output formatting is not
    applied in the scenario described.

  - Previously, the sudo utility performed Security-Enhanced
    Linux (SELinux) related initialization after switching
    to an unprivileged user. This prevented the correct
    setup of the SELinux environment before executing the
    specified command and could potentially cause an access
    denial. The bug has been fixed by backporting the
    SELinux related code and the execution model from a
    newer version of sudo.

  - On execv(3) function failure, the sudo tool executed an
    auditing call before reporting the failure. The call
    reset the error state and, consequently, the tool
    incorrectly reported that the command succeeded. With
    this update, the code has been modified and the problem
    no longer occurs.

All users of sudo are advised to upgrade to this updated package,
which resolves these issues."
  );
  # https://listserv.fnal.gov/scripts/wa.exe?A2=ind1203&L=scientific-linux-errata&T=0&P=3419
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?eb6a296c"
  );
  script_set_attribute(
    attribute:"solution", 
    value:"Update the affected sudo and / or sudo-debuginfo packages."
  );
  script_set_cvss_base_vector("CVSS2#AV:L/AC:M/Au:N/C:P/I:P/A:P");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fermilab:scientific_linux:sudo");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fermilab:scientific_linux:sudo-debuginfo");
  script_set_attribute(attribute:"cpe", value:"x-cpe:/o:fermilab:scientific_linux");

  script_set_attribute(attribute:"vuln_publication_date", value:"2011/01/18");
  script_set_attribute(attribute:"patch_publication_date", value:"2012/02/21");
  script_set_attribute(attribute:"plugin_publication_date", value:"2012/08/01");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2012-2021 and is owned by Tenable, Inc. or an Affiliate thereof.");
  script_family(english:"Scientific Linux Local Security Checks");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/RedHat/release", "Host/RedHat/rpm-list");

  exit(0);
}


include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");
include("rpm.inc");

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
release = get_kb_item("Host/RedHat/release");
if (isnull(release) || "Scientific Linux " >!< release) audit(AUDIT_HOST_NOT, "running Scientific Linux");
os_ver = pregmatch(pattern: "Scientific Linux.*release ([0-9]+(\.[0-9]+)?)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Scientific Linux");
os_ver = os_ver[1];
if (! preg(pattern:"^5([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Scientific Linux 5.x", "Scientific Linux " + os_ver);
if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);

cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if (cpu >!< "x86_64" && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Scientific Linux", cpu);


flag = 0;
if (rpm_check(release:"SL5", reference:"sudo-1.7.2p1-13.el5")) flag++;
if (rpm_check(release:"SL5", reference:"sudo-debuginfo-1.7.2p1-13.el5")) flag++;


if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    extra      : rpm_report_get()
  );
  exit(0);
}
else
{
  tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "sudo / sudo-debuginfo");
}
VendorProductVersionCPE
fermilabscientific_linuxsudop-cpe:/a:fermilab:scientific_linux:sudo
fermilabscientific_linuxsudo-debuginfop-cpe:/a:fermilab:scientific_linux:sudo-debuginfo
fermilabscientific_linuxx-cpe:/o:fermilab:scientific_linux