Viscosity ViscosityHelper Symlink Attack Local Privilege Escalation - Nessus

High   Plugin ID: 65700

This page contains detailed information about the Viscosity ViscosityHelper Symlink Attack Local Privilege Escalation Nessus plugin including available exploits and PoCs found on GitHub, in Metasploit or Exploit-DB for verifying of this vulnerability.

Plugin Overview


ID: 65700
Name: Viscosity ViscosityHelper Symlink Attack Local Privilege Escalation
Filename: macosx_viscosity_1_4_2.nasl
Vulnerability Published: 2012-08-12
This Plugin Published: 2013-03-27
Last Modification Time: 2018-07-14
Plugin Version: 1.4
Plugin Type: local
Plugin Family: MacOS X Local Security Checks
Dependencies: macosx_viscosity_installed.nasl
Required KB Items [?]: MacOSX/Viscosity/Installed

Vulnerability Information


Severity: High
Vulnerability Published: 2012-08-12
Patch Published: 2012-08-30
CVE [?]: CVE-2012-4284
CPE [?]: x-cpe:/a:sparklabs:viscosity

Synopsis

The remote host is affected by a privilege escalation vulnerability.

Description

The remote host has a version of Viscosity VPN client installed that has a path name validation flaw in the setuid-set ViscosityHelper binary. This flaw can be exploited to execute arbitrary code with root privileges.

Solution

Upgrade to Viscosity 1.4.2 or later.

Public Exploits


Target Network Port(s): N/A
Target Asset(s): N/A
Exploit Available: True (Metasploit Framework, Exploit-DB, Immunity Canvas, Core Impact)
Exploit Ease: Exploits are available

Here's the list of publicly known exploits and PoCs for verifying the Viscosity ViscosityHelper Symlink Attack Local Privilege Escalation vulnerability:

  1. Metasploit: exploit/osx/local/setuid_viscosity
    [Viscosity setuid-set ViscosityHelper Privilege Escalation]
  2. Exploit-DB: exploits/osx/local/20485.sh
    [EDB-20485: Viscosity - Local Privilege Escalation]
  3. Exploit-DB: exploits/osx/local/24579.rb
    [EDB-24579: Viscosity - setuid-set ViscosityHelper Privilege Escalation (Metasploit)]
  4. Immunity Canvas: D2ExploitPack

Before running any exploit against any system, make sure you are authorized by the owner of the target system(s) to perform such activity. In any other case, this would be considered as an illegal activity.

WARNING: Beware of using unverified exploits from sources such as GitHub or Exploit-DB. These exploits and PoCs could contain malware. For more information, see how to use exploits safely.

Risk Information


CVSS V2 Vector [?]: AV:L/AC:L/Au:N/C:C/I:C/A:C/E:F/RL:OF/RC:C
CVSS Base Score:7.2 (High)
Impact Subscore:10.0
Exploitability Subscore:3.9
CVSS Temporal Score:6.0 (Medium)
CVSS Environmental Score:NA (None)
Modified Impact Subscore:NA
Overall CVSS Score:6.0 (Medium)

Go back to menu.

Plugin Source


This is the macosx_viscosity_1_4_2.nasl nessus plugin source code. This script is Copyright (C) 2013-2018 Tenable Network Security, Inc.

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

include("compat.inc");

if (description)
{
  script_id(65700);
  script_version("1.4");
  script_cvs_date("Date: 2018/07/14  1:59:36");

  script_cve_id("CVE-2012-4284");
  script_bugtraq_id(55002);
  script_xref(name:"EDB-ID", value:"20485");

  script_name(english:"Viscosity ViscosityHelper Symlink Attack Local Privilege Escalation");
  script_summary(english:"Checks version of Viscosity");

  script_set_attribute(
    attribute:"synopsis",
    value:"The remote host is affected by a privilege escalation vulnerability."
  );
  script_set_attribute(
    attribute:"description",
    value:
"The remote host has a version of Viscosity VPN client installed that
has a path name validation flaw in the setuid-set ViscosityHelper
binary.  This flaw can be exploited to execute arbitrary code with root
privileges."
  );
  script_set_attribute(attribute:"see_also", value:"http://www.sparklabs.com/viscosity/releasenotes/");
  script_set_attribute(attribute:"solution", value:"Upgrade to Viscosity 1.4.2 or later.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploit_framework_core", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Viscosity setuid-set ViscosityHelper Privilege Escalation');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
  script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
  script_set_attribute(attribute:"canvas_package", value:'D2ExploitPack');

  script_set_attribute(attribute:"vuln_publication_date", value:"2012/08/12");
  script_set_attribute(attribute:"patch_publication_date", value:"2012/08/30");
  script_set_attribute(attribute:"plugin_publication_date", value:"2013/03/27");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"x-cpe:/a:sparklabs:viscosity");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"MacOS X Local Security Checks");

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

  script_dependencies("macosx_viscosity_installed.nasl");
  script_require_keys("MacOSX/Viscosity/Installed");

  exit(0);
}

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

kb_base = "MacOSX/Viscosity";
get_kb_item_or_exit(kb_base+"/Installed");

version = get_kb_item_or_exit(kb_base+"/Version", exit_code:1);
path = get_kb_item_or_exit(kb_base+"/Path", exit_code:1);

# ensure only numerical portion of string is used in check
item = eregmatch(pattern:"^([0-9.]+)", string:version);
if (isnull(item)) exit(1, "Unable to parse version string.");

fix = "1.4.2";
if (ver_compare(ver:item[1], fix:fix, strict:FALSE) == -1)
{
  if (report_verbosity > 0)
  {
    info +=
      '\n  Path              : ' + path +
      '\n  Installed version : ' + version +
      '\n  Fixed version     : ' + fix + '\n';
    security_hole(port:0, extra:info);
  }
  else security_hole(0);
  exit(0);
}
else audit(AUDIT_INST_PATH_NOT_VULN, "Viscosity", version, path);

The latest version of this script can be found in these locations depending on your platform:

  • Linux / Unix:
    /opt/nessus/lib/nessus/plugins/macosx_viscosity_1_4_2.nasl
  • Windows:
    C:\ProgramData\Tenable\Nessus\nessus\plugins\macosx_viscosity_1_4_2.nasl
  • Mac OS X:
    /Library/Nessus/run/lib/nessus/plugins/macosx_viscosity_1_4_2.nasl

Go back to menu.

How to Run


Here is how to run the Viscosity ViscosityHelper Symlink Attack Local Privilege Escalation as a standalone plugin via the Nessus web user interface (https://localhost:8834/):

  1. Click to start a New Scan.
  2. Select Advanced Scan.
  3. Navigate to the Plugins tab.
  4. On the top right corner click to Disable All plugins.
  5. On the left side table select MacOS X Local Security Checks plugin family.
  6. On the right side table select Viscosity ViscosityHelper Symlink Attack Local Privilege Escalation plugin ID 65700.
  7. Specify the target on the Settings tab and click to Save the scan.
  8. Run the scan.

Here are a few examples of how to run the plugin in the command line. Note that the examples below demonstrate the usage on the Linux / Unix platform.

Basic usage:

/opt/nessus/bin/nasl macosx_viscosity_1_4_2.nasl -t <IP/HOST>

Run the plugin with audit trail message on the console:

/opt/nessus/bin/nasl -a macosx_viscosity_1_4_2.nasl -t <IP/HOST>

Run the plugin with trace script execution written to the console (useful for debugging):

/opt/nessus/bin/nasl -T - macosx_viscosity_1_4_2.nasl -t <IP/HOST>

Run the plugin with using a state file for the target and updating it (useful for running multiple plugins on the target):

/opt/nessus/bin/nasl -K /tmp/state macosx_viscosity_1_4_2.nasl -t <IP/HOST>

Go back to menu.

References


BID | SecurityFocus Bugtraq ID: See also: Similar and related Nessus plugins:
  • 64919 - VMware Fusion 4.1 < 4.1.4 / 5.0 < 5.0.2 VMCI Privilege Escalation (VMSA-2013-0002)
  • 63545 - Firefox < 18.0 Multiple Vulnerabilities (Mac OS X)
  • 63546 - Thunderbird 10.x < 10.0.12 Multiple Vulnerabilities (Mac OS X)
  • 63547 - Thunderbird < 17.0.2 Multiple Vulnerabilities (Mac OS X)
  • 64476 - Mac OS X : OS X Server < 2.2.1 Multiple Vulnerabilities
  • 64507 - Flash Player for Mac <= 10.3.183.50 / 11.5.502.146 Multiple Vulnerabilities (APSB13-04)
  • 64699 - Mac OS X : Java for Mac OS X 10.6 Update 13
  • 64700 - Mac OS X : Java for OS X 2013-001
  • 64718 - Firefox ESR 17.x < 17.0.3 Multiple Vulnerabilities (Mac OS X)
  • 64719 - Firefox 18.x Multiple Vulnerabilities (Mac OS X)
  • 64720 - Thunderbird < 17.0.3 Multiple Vulnerabilities (Mac OS X)
  • 64721 - Thunderbird ESR 17.x < 17.0.3 Multiple Vulnerabilities (Mac OS X)
  • 64787 - Adobe Reader < 11.0.2 / 10.1.6 / 9.5.4 Multiple Vulnerabilities (APSA13-02, APSB13-07) (Mac OS X)
  • 64919 - VMware Fusion 4.1 < 4.1.4 / 5.0 < 5.0.2 VMCI Privilege Escalation (VMSA-2013-0002)
  • 65027 - Mac OS X : Java for Mac OS X 10.6 Update 14
  • 65028 - Mac OS X : Java for OS X 2013-002
  • 65216 - MS13-022: Vulnerability in Silverlight Could Allow Remote Code Execution (2814124) (Mac OS X)
  • 65578 - Mac OS X Multiple Vulnerabilities (Security Update 2013-001)
  • 65926 - Google Picasa < 3.9 Build 3.9.14.34 Multiple Vulnerabilities (Mac OS X)
  • 65998 - Mac OS X : Java for Mac OS X 10.6 Update 15
  • 65999 - Mac OS X : Java for OS X 2013-003
  • 66411 - Adobe Reader < 11.0.3 / 10.1.7 / 9.5.5 Multiple Vulnerabilities (APSB13-15) (Mac OS X)
  • 66475 - Firefox ESR 17.x < 17.0.6 Multiple Vulnerabilities (Mac OS X)
  • 66476 - Firefox < 21.0 Multiple Vulnerabilities (Mac OS X)
  • 66477 - Thunderbird 17.x < 17.0.6 Multiple Vulnerabilities (Mac OS X)
  • 66478 - Thunderbird ESR 17.x < 17.0.6 Multiple Vulnerabilities (Mac OS X)
  • 66808 - Mac OS X 10.8.x < 10.8.4 Multiple Vulnerabilities
  • 66809 - Mac OS X Multiple Vulnerabilities (Security Update 2013-002)
  • 66928 - Mac OS X : Java for OS X 2013-004
  • 66929 - Mac OS X : Java for Mac OS X 10.6 Update 16
  • 66988 - Firefox ESR 17.x < 17.0.7 Multiple Vulnerabilities (Mac OS X)
  • 66989 - Firefox < 22.0 Multiple Vulnerabilities (Mac OS X)
  • 66990 - Thunderbird < 17.0.7 Multiple Vulnerabilities (Mac OS X)
  • 66991 - Thunderbird ESR 17.x < 17.0.7 Multiple Vulnerabilities (Mac OS X)
  • 69264 - Firefox ESR 17.x < 17.0.8 Multiple Vulnerabilities (Mac OS X)

Version


This page has been produced using Nessus Professional 10.1.2 (#68) LINUX, Plugin set 202205072148.
Plugin file macosx_viscosity_1_4_2.nasl version 1.4. For more plugins, visit the Nessus Plugin Library.

Go back to menu.