Scientific Linux Security Update : 389-ds-base on SL6.x i386/x86_64

2012-08-01T00:00:00
ID SL_20120620_389_DS_BASE_ON_SL6_X.NASL
Type nessus
Reporter Tenable
Modified 2018-12-31T00:00:00

Description

The 389 Directory Server is an LDAPv3 compliant server. The base packages include the Lightweight Directory Access Protocol (LDAP) server and command-line utilities for server administration.

A flaw was found in the way 389 Directory Server handled password changes. If an LDAP user has changed their password, and the directory server has not been restarted since that change, an attacker able to bind to the directory server could obtain the plain text version of that user's password via the 'unhashed#user#password' attribute. (CVE-2012-2678)

It was found that when the password for an LDAP user was changed, and audit logging was enabled (it is disabled by default), the new password was written to the audit log in plain text form. This update introduces a new configuration parameter, 'nsslapd-auditlog-logging-hide-unhashed-pw', which when set to 'on' (the default option), prevents 389 Directory Server from writing plain text passwords to the audit log. This option can be configured in '/etc/dirsrv/slapd-[ID]/dse.ldif'. (CVE-2012-2746)

All users of 389-ds-base are advised to upgrade to these updated packages, which resolve these issues. After installing this update, the 389 server service will be restarted automatically.

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

include("compat.inc");

if (description)
{
  script_id(61334);
  script_version("1.3");
  script_cvs_date("Date: 2018/12/31 11:35:01");

  script_cve_id("CVE-2012-2678", "CVE-2012-2746");

  script_name(english:"Scientific Linux Security Update : 389-ds-base on SL6.x i386/x86_64");
  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 389 Directory Server is an LDAPv3 compliant server. The base
packages include the Lightweight Directory Access Protocol (LDAP)
server and command-line utilities for server administration.

A flaw was found in the way 389 Directory Server handled password
changes. If an LDAP user has changed their password, and the directory
server has not been restarted since that change, an attacker able to
bind to the directory server could obtain the plain text version of
that user's password via the 'unhashed#user#password' attribute.
(CVE-2012-2678)

It was found that when the password for an LDAP user was changed, and
audit logging was enabled (it is disabled by default), the new
password was written to the audit log in plain text form. This update
introduces a new configuration parameter,
'nsslapd-auditlog-logging-hide-unhashed-pw', which when set to 'on'
(the default option), prevents 389 Directory Server from writing plain
text passwords to the audit log. This option can be configured in
'/etc/dirsrv/slapd-[ID]/dse.ldif'. (CVE-2012-2746)

All users of 389-ds-base are advised to upgrade to these updated
packages, which resolve these issues. After installing this update,
the 389 server service will be restarted automatically."
  );
  # https://listserv.fnal.gov/scripts/wa.exe?A2=ind1207&L=scientific-linux-errata&T=0&P=1257
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?a62a5938"
  );
  script_set_attribute(attribute:"solution", value:"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:S/C:P/I:N/A:N");

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

  script_set_attribute(attribute:"patch_publication_date", value:"2012/06/20");
  script_set_attribute(attribute:"plugin_publication_date", value:"2012/08/01");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2012-2018 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("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");
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:"SL6", reference:"389-ds-base-1.2.10.2-18.el6_3")) flag++;
if (rpm_check(release:"SL6", reference:"389-ds-base-debuginfo-1.2.10.2-18.el6_3")) flag++;
if (rpm_check(release:"SL6", reference:"389-ds-base-devel-1.2.10.2-18.el6_3")) flag++;
if (rpm_check(release:"SL6", reference:"389-ds-base-libs-1.2.10.2-18.el6_3")) flag++;


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