Lucene search

K
nessusThis script is Copyright (C) 2014-2018 Tenable Network Security, Inc.IBM_GSKIT_SWG21662902.NASL
HistoryJan 29, 2014 - 12:00 a.m.

IBM Tivoli Directory Server < 6.1.0.59 / 6.2.0.34 / 6.3.0.26 with GSKit < 7.0.4.48 / 8.0.50.16 X.509 Certificate Chain DoS

2014-01-2900:00:00
This script is Copyright (C) 2014-2018 Tenable Network Security, Inc.
www.tenable.com
22

The remote host is running a version of IBM Tivoli Directory Server 6.1.0.x prior to 6.1.0.59, 6.2.0 prior to 6.2.0.34, or 6.3.0.x prior to 6.3.0.26, and a version of IBM Global Security Kit (GSKit) 7.0.x prior to 7.0.4.48 or 8.0.50.x prior to 8.0.50.16. It is, therefore, affected by a denial of service vulnerability due to a flaw in the GSKit library. An attacker can exploit this vulnerability via a malformed X.509 certificate chain to cause an application crash or hang.

#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(72220);
  script_version("1.7");
  script_cvs_date("Date: 2018/07/12 19:01:17");

  script_cve_id("CVE-2013-6747");
  script_bugtraq_id(65156);

  script_name(english:"IBM Tivoli Directory Server < 6.1.0.59 / 6.2.0.34 / 6.3.0.26 with GSKit < 7.0.4.48 / 8.0.50.16 X.509 Certificate Chain DoS");
  script_summary(english:"Checks the version of Tivoli Directory Server.");

  script_set_attribute(attribute:"synopsis", value:
"The version of IBM Tivoli Directory Server and GSKit is affected by
a denial of service vulnerability.");
  script_set_attribute(attribute:"description", value:
"The remote host is running a version of IBM Tivoli Directory Server
6.1.0.x prior to 6.1.0.59, 6.2.0 prior to 6.2.0.34, or 6.3.0.x prior
to 6.3.0.26, and a version of IBM Global Security Kit (GSKit) 7.0.x
prior to 7.0.4.48 or 8.0.50.x prior to 8.0.50.16. It is, therefore,
affected by a denial of service vulnerability due to a flaw in the
GSKit library. An attacker can exploit this vulnerability via a
malformed X.509 certificate chain to cause an application crash or
hang.");
  # https://www-304.ibm.com/support/docview.wss?uid=swg21662902
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?1afae799");
  # https://www.ibm.com/blogs/psirt/security-bulletin-gskit-certificate-chain-vulnerability-in-ibm-security-directory-server-and-tivoli-directory-server-cve-2013-6747/
  script_set_attribute(attribute:"see_also",value:"http://www.nessus.org/u?93389b8b");
  script_set_attribute(attribute:"solution", value:
"Install the appropriate fix based on the vendor's advisory :

  - 6.1.0.59-ISS-ITDFS-IF0059
  - 6.2.0.34-ISS-ITDFS-IF0034
  - 6.3.0.26-ISS-ITDFS-IF0026

Alternatively, upgrade GSKit to 7.0.4.48 or 8.0.50.16.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2014/01/24");
  script_set_attribute(attribute:"patch_publication_date", value:"2014/01/14");
  script_set_attribute(attribute:"plugin_publication_date", value:"2014/01/29");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:ibm:tivoli_directory_server");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows");

  script_copyright(english:"This script is Copyright (C) 2014-2018 Tenable Network Security, Inc.");

  script_dependencies("ibm_gskit_installed.nasl", "tivoli_directory_svr_installed.nasl");
  script_require_keys("installed_sw/IBM GSKit", "installed_sw/IBM Security Directory Server");

  exit(0);
}

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

tds_name = "IBM Security Directory Server";
tds_install = get_single_install(app_name:tds_name, exit_if_unknown_ver:TRUE);

tds_ver  = tds_install['version'];
tds_path = tds_install['path'];

tds_fix   = NULL;
tds_patch = NULL;
gsk_ver_regex = NULL;
gsk_fix = NULL;

# Ensure that TDS version is affected.
if (tds_ver =~ "^6\.1\.")
{
  tds_fix = "6.1.0.59";
  tds_patch = "6.1.0.59-ISS-ITDFS-IF0059";
  gsk_ver_regex = "^7\.";
  gsk_fix = '7.0.4.48';
}
else if (tds_ver =~ "^6\.2\.")
{
  tds_fix = "6.2.0.34";
  tds_patch = "6.2.0.34-ISS-ITDFS-IF0034";
  gsk_ver_regex = "^7\.";
  gsk_fix = '7.0.4.48';
}
else if (tds_ver =~ "^6\.3\.")
{
  tds_fix = "6.3.0.26";
  tds_patch = "6.3.0.26-ISS-ITDFS-IF0026";
  gsk_ver_regex = "^8\.";
  gsk_fix = '8.0.50.16';
}

# If the IF has been installed or the branch is not affected, exit.
if (isnull(tds_fix) || ver_compare(ver:tds_ver, fix:tds_fix, strict:FALSE) >= 0)
  audit(AUDIT_INST_PATH_NOT_VULN, tds_name, tds_ver, tds_path);

# If we got this far, we need to look at GSKit.
gsk_app = "IBM GSKit";

# We don't bother to exit if we can't detect any GSKit installations
gsk_installs = get_installs(app_name:gsk_app);
gsk_report   = NULL;
gsk_vuln     = 0;

foreach gsk_install (gsk_installs[1])
{
  gsk_ver  = gsk_install['version'];
  gsk_path = gsk_install['path'];

  # There can only be a single install per major version. So we will
  # have at most one vulnerable install.
  if (gsk_ver !~ gsk_ver_regex) continue;
  if (
    (gsk_ver =~ "^8\.0\.50\."
      && ver_compare(ver:gsk_ver, fix:gsk_fix, strict:FALSE) == -1) ||
    (gsk_ver =~ "^7\.0\."
      && ver_compare(ver:gsk_ver, fix:gsk_fix, strict:FALSE) == -1)
  )
  {
    gsk_report +=
      '\n  Path                    : ' + gsk_path +
      '\n  Installed GSKit Version : ' + gsk_ver  +
      '\n  Fixed GSKit Version     : ' + gsk_fix  +
      '\n';
 
    gsk_vuln++;
  }
}

port = get_kb_item('SMB/transport');
if (!port) port = 445;

if (report_verbosity > 0)
{
  report =
    '\n' + 'The install of ' + tds_name + ' is vulnerable :' +
    '\n' +
    '\n' + '  Path              : ' + tds_path +
    '\n' + '  Installed version : ' + tds_ver  +
    '\n' + '  Fixed version     : ' + tds_fix  +
    '\n' +
    '\n' + 'Install ' + tds_patch  + ' to update installation.' +
    '\n';

  if (!isnull(gsk_report))
  {
    instance = " instance "; is_are   = " is ";

    if (gsk_vuln > 1) {instance = " instances "; is_are = " are ";}

    report +=
      '\nAlso, the following vulnerable'+instance+'of '+gsk_app+is_are+'installed on the'+
      '\nremote host :' +
      '\n' +
      gsk_report;
  }

  security_hole(port:port, extra:report);
}
else security_hole(port);
exit(0);
VendorProductVersionCPE
ibmtivoli_directory_servercpe:/a:ibm:tivoli_directory_server
Related for IBM_GSKIT_SWG21662902.NASL