Lucene search

K
nessusThis script is Copyright (C) 2010-2018 Tenable Network Security, Inc.CITRIX_ICA_CLIENT_1203.NASL
HistoryAug 09, 2010 - 12:00 a.m.

Citrix ICA Client Multiple Remote Code Execution Vulnerabilities

2010-08-0900:00:00
This script is Copyright (C) 2010-2018 Tenable Network Security, Inc.
www.tenable.com
68

9.3 High

CVSS2

Attack Vector

NETWORK

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:M/Au:N/C:C/I:C/A:C

0.1 Low

EPSS

Percentile

95.0%

The version of Citrix ICA Client installed on the remote host is older than 12.0.3. Such versions are reportedly affected by the following remote code execution vulnerabilities:

A vulnerability can be exploited by tricking a user into connecting to a malicious server, via a malicious ‘.ICA’ file or by other means, making it possible for an attacker to execute arbitrary code on the remote client.

Another vulnerability has been identified in the ICA Client ActiveX Object (ICO) component which can allow an attacker to execute arbitrary code on the remote client.

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

include("compat.inc");

if (description)
{
  script_id(48275);
  script_version("1.11");
  script_cvs_date("Date: 2018/11/15 20:50:26");

  script_cve_id("CVE-2010-2990", "CVE-2010-2991");
  script_bugtraq_id(42149,42150);
  script_xref(name:"Secunia", value:"40819");
  script_xref(name:"IAVB", value:"2010-B-0057");
  script_xref(name:"Secunia", value:"40821");

  script_name(english:"Citrix ICA Client Multiple Remote Code Execution Vulnerabilities");
  script_summary(english:"Checks the version of ICA Client");

  script_set_attribute(attribute:"synopsis", value:
"The remote host contains an application that is affected by multiple
remote code execution vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The version of Citrix ICA Client installed on the remote host is older
than 12.0.3. Such versions are reportedly affected by the following
remote code execution vulnerabilities:

A vulnerability can be exploited by tricking a user into connecting to
a malicious server, via a malicious '.ICA' file or by other means,
making it possible for an attacker to execute arbitrary code on the
remote client.

Another vulnerability has been identified in the ICA Client ActiveX
Object (ICO) component which can allow an attacker to execute
arbitrary code on the remote client.");

  script_set_attribute(attribute:"see_also", value:"https://support.citrix.com/article/CTX125975");
  script_set_attribute(attribute:"see_also", value:"https://support.citrix.com/article/CTX125976");
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/fulldisclosure/2010/Aug/39");
  script_set_attribute(attribute:"solution", value:"Upgrade to ICA Client 12.0.3 or later.");
 script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/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:"2010/08/02");
  script_set_attribute(attribute:"patch_publication_date", value:"2010/05/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2010/08/09");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"stig_severity", value:"II");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:citrix:ica_client_for_linux");
  script_set_attribute(attribute:"cpe",value:"cpe:/a:citrix:ica_client_for_solaris");
  script_set_attribute(attribute:"cpe",value:"cpe:/a:citrix:ica_client_for_windows_mobile");
  script_end_attributes();

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

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

  script_dependencies("smb_hotfixes.nasl");
  script_require_keys("SMB/Registry/Enumerated");
  script_require_ports(139, 445);

  exit(0);
}

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

# Connect to the appropriate share.
get_kb_item_or_exit("SMB/Registry/Enumerated");
name    =  kb_smb_name();
port    =  kb_smb_transport();

login   =  kb_smb_login();
pass    =  kb_smb_password();
domain  =  kb_smb_domain();



if(! smb_session_init()) audit(AUDIT_FN_FAIL, 'smb_session_init');
rc = NetUseAdd(login:login, password:pass, domain:domain, share:"IPC$");
if (rc != 1)
{
  NetUseDel();
  exit(1, "Can't connect to IPC$ share.");
}


# Connect to remote registry.
hklm = RegConnectRegistry(hkey:HKEY_LOCAL_MACHINE);
if (isnull(hklm))
{
  NetUseDel();
  exit(1, "Can't connect to remote registry.");
}

# Check whether it's installed.
path = NULL;

key1 = "SOFTWARE\Citrix\ICA Client";
key1_h = RegOpenKey(handle:hklm, key:key1, mode:MAXIMUM_ALLOWED);
if (!isnull(key1_h))
{
  value = RegQueryValue(handle:key1_h, item:"MsiInstallDir");
  if (!isnull(value))
  {
    path = value[1];
    path = ereg_replace(pattern:"^(.+)\\$", replace:"\1", string:path);
  }

  RegCloseKey(handle:key1_h);
}

if (isnull(path))
{

  key2 = "SOFTWARE\Citrix\Install\ICA Client";
  key2_h = RegOpenKey(handle:hklm, key:key2, mode:MAXIMUM_ALLOWED);
  if (!isnull(key2_h))
  {
    value = RegQueryValue(handle:key2_h, item:"InstallFolder");
    if (!isnull(value))
    {
      path = value[1];
      path = ereg_replace(pattern:"^(.+)\\$", replace:"\1", string:path);
    }

    RegCloseKey(handle:key2_h);
  }
}

RegCloseKey(handle:hklm);

if (isnull(path))
{
  NetUseDel();
  exit(0, "Citrix ICA Client is not installed.");
}

# Check the version of the main exe.
share = ereg_replace(pattern:"^([A-Za-z]):.*", replace:"\1$", string:path);
exe =  ereg_replace(pattern:"^[A-Za-z]:(.*)", replace:"\1\wfica32.exe", string:path);
NetUseDel(close:FALSE);
rc = NetUseAdd(login:login, password:pass, domain:domain, share:share);
if (rc != 1)
{
  NetUseDel();
  exit(1, "Can't connect to "+share+" share.");
}

fh = CreateFile(
  file:exe,
  desired_access:GENERIC_READ,
  file_attributes:FILE_ATTRIBUTE_NORMAL,
  share_mode:FILE_SHARE_READ,
  create_disposition:OPEN_EXISTING
);
ver = NULL;
if (!isnull(fh))
{
  ver = GetFileVersion(handle:fh);
  CloseFile(handle:fh);
}
else
{
  NetUseDel();
  exit(0, "Failed to open '"+path+"\wfica32.exe'.");
}
NetUseDel();

# Check the version number.
if (!isnull(ver))
{
  version = join(ver,sep:".");
  fixed_version = "12.0.3";

  if (ver_compare(ver:version, fix:fixed_version, strict:FALSE) == -1)
  {
    if (report_verbosity > 0)
      {
        report =
          '\n  Path              : ' + path +
          '\n  Installed version : ' + version +
          '\n  Fixed version     : ' + fixed_version + '\n';
        security_hole(port:port, extra:report);
      }
      else security_hole(port);
      exit(0);
  }

  exit(0, "Citrix ICA Client version "+version+" is installed and not vulnerable.");
}
else exit(1, "Couldn't get file version of '"+exe+"'.");
VendorProductVersionCPE
citrixica_client_for_linuxcpe:/a:citrix:ica_client_for_linux
citrixica_client_for_solariscpe:/a:citrix:ica_client_for_solaris
citrixica_client_for_windows_mobilecpe:/a:citrix:ica_client_for_windows_mobile

9.3 High

CVSS2

Attack Vector

NETWORK

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

COMPLETE

Integrity Impact

COMPLETE

Availability Impact

COMPLETE

AV:N/AC:M/Au:N/C:C/I:C/A:C

0.1 Low

EPSS

Percentile

95.0%

Related for CITRIX_ICA_CLIENT_1203.NASL