Vulnerabilities > CVE-2012-4284 - Local Privilege Escalation vulnerability in Sparklabs Viscosity 1.4.1

047910
CVSS 10.0 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
low complexity
sparklabs
critical
nessus
exploit available
metasploit

Summary

A Privilege Escalation vulnerability exists in Viscosity 1.4.1 on Mac OS X due to a path name validation issue in the setuid-set ViscosityHelper binary, which could let a remote malicious user execute arbitrary code

Vulnerable Configurations

Part Description Count
Application
Sparklabs
1

Exploit-Db

  • descriptionViscosity setuid-set ViscosityHelper Privilege Escalation. CVE-2012-4284. Local exploit for osx platform
    idEDB-ID:24579
    last seen2016-02-02
    modified2013-03-05
    published2013-03-05
    reportermetasploit
    sourcehttps://www.exploit-db.com/download/24579/
    titleViscosity setuid-set ViscosityHelper Privilege Escalation
  • descriptionOS X Viscosity OpenVPN Client - Local Root Exploit. CVE-2012-4284. Local exploit for osx platform
    idEDB-ID:20485
    last seen2016-02-02
    modified2012-08-13
    published2012-08-13
    reporterzx2c4
    sourcehttps://www.exploit-db.com/download/20485/
    titleOS X Viscosity OpenVPN Client - Local Root Exploit

Metasploit

descriptionThis module exploits a vulnerability in Viscosity 1.4.1 on Mac OS X. The vulnerability exists in the setuid ViscosityHelper, where an insufficient validation of path names allows execution of arbitrary python code as root. This module has been tested successfully on Viscosity 1.4.1 over Mac OS X 10.7.5.
idMSF:EXPLOIT/OSX/LOCAL/SETUID_VISCOSITY
last seen2020-04-24
modified2018-11-04
published2013-03-03
references
reporterRapid7
sourcehttps://github.com/rapid7/metasploit-framework/blob/master//modules/exploits/osx/local/setuid_viscosity.rb
titleViscosity setuid-set ViscosityHelper Privilege Escalation

Nessus

NASL familyMacOS X Local Security Checks
NASL idMACOSX_VISCOSITY_1_4_2.NASL
descriptionThe 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.
last seen2020-06-01
modified2020-06-02
plugin id65700
published2013-03-27
reporterThis script is Copyright (C) 2013-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/65700
titleViscosity ViscosityHelper Symlink Attack Local Privilege Escalation
code
#
# (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);

Packetstorm

data sourcehttps://packetstormsecurity.com/files/download/120643/setuid_viscosity.rb.txt
idPACKETSTORM:120643
last seen2016-12-05
published2013-03-05
reporterjuan vazquez
sourcehttps://packetstormsecurity.com/files/120643/Viscosity-setuid-set-ViscosityHelper-Privilege-Escalation.html
titleViscosity setuid-set ViscosityHelper Privilege Escalation