Vulnerabilities > CVE-2011-3478 - Improper Authentication vulnerability in Symantec Pcanywhere

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
symantec
CWE-287
critical
nessus
exploit available

Summary

The host-services component in Symantec pcAnywhere 12.5.x through 12.5.3, and IT Management Suite pcAnywhere Solution 7.0 (aka 12.5.x) and 7.1 (aka 12.6.x), does not properly filter login and authentication data, which allows remote attackers to execute arbitrary code via a crafted session on TCP port 5631.

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Authentication Abuse
    An attacker obtains unauthorized access to an application, service or device either through knowledge of the inherent weaknesses of an authentication mechanism, or by exploiting a flaw in the authentication scheme's implementation. In such an attack an authentication mechanism is functioning but a carefully controlled sequence of events causes the mechanism to grant access to the attacker. This attack may exploit assumptions made by the target's authentication procedures, such as assumptions regarding trust relationships or assumptions regarding the generation of secret values. This attack differs from Authentication Bypass attacks in that Authentication Abuse allows the attacker to be certified as a valid user through illegitimate means, while Authentication Bypass allows the user to access protected material without ever being certified as an authenticated user. This attack does not rely on prior sessions established by successfully authenticating users, as relied upon for the "Exploitation of Session Variables, Resource IDs and other Trusted Credentials" attack patterns.
  • Exploiting Trust in Client (aka Make the Client Invisible)
    An attack of this type exploits a programs' vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by placing themselves in the communication channel between client and server such that communication directly to the server is possible where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
  • Utilizing REST's Trust in the System Resource to Register Man in the Middle
    This attack utilizes a REST(REpresentational State Transfer)-style applications' trust in the system resources and environment to place man in the middle once SSL is terminated. Rest applications premise is that they leverage existing infrastructure to deliver web services functionality. An example of this is a Rest application that uses HTTP Get methods and receives a HTTP response with an XML document. These Rest style web services are deployed on existing infrastructure such as Apache and IIS web servers with no SOAP stack required. Unfortunately from a security standpoint, there frequently is no interoperable identity security mechanism deployed, so Rest developers often fall back to SSL to deliver security. In large data centers, SSL is typically terminated at the edge of the network - at the firewall, load balancer, or router. Once the SSL is terminated the HTTP request is in the clear (unless developers have hashed or encrypted the values, but this is rare). The attacker can utilize a sniffer such as Wireshark to snapshot the credentials, such as username and password that are passed in the clear once SSL is terminated. Once the attacker gathers these credentials, they can submit requests to the web service provider just as authorized user do. There is not typically an authentication on the client side, beyond what is passed in the request itself so once this is compromised, then this is generally sufficient to compromise the service's authentication scheme.
  • Man in the Middle Attack
    This type of attack targets the communication between two components (typically client and server). The attacker places himself in the communication channel between the two components. Whenever one component attempts to communicate with the other (data flow, authentication challenges, etc.), the data first goes to the attacker, who has the opportunity to observe or alter it, and it is then passed on to the other component as if it was never intercepted. This interposition is transparent leaving the two compromised components unaware of the potential corruption or leakage of their communications. The potential for Man-in-the-Middle attacks yields an implicit lack of trust in communication or identify between two components.

Exploit-Db

  • descriptionSymantec pcAnywhere 12.5.0 Windows x86 - Remote Code Execution. CVE-2011-3478. Remote exploit for win32 platform
    fileexploits/windows_x86/remote/38599.py
    idEDB-ID:38599
    last seen2016-02-04
    modified2015-11-02
    platformwindows_x86
    port
    published2015-11-02
    reporterTomislav Paskalev
    sourcehttps://www.exploit-db.com/download/38599/
    titleSymantec pcAnywhere 12.5.0 Windows x86 - Remote Code Execution
    typeremote
  • descriptionSymantec PcAnywhere 12.5.0 Login and Password Field Buffer Overflow. CVE-2011-3478. Remote exploit for windows platform
    idEDB-ID:19407
    last seen2016-02-02
    modified2012-06-27
    published2012-06-27
    reporterS2 Crew
    sourcehttps://www.exploit-db.com/download/19407/
    titleSymantec PcAnywhere 12.5.0 Login and Password Field Buffer Overflow

Nessus

NASL familyWindows
NASL idSYMANTEC_PCANYWHERE_125_MULTIPLE_VULNS.NASL
descriptionThe version of Symantec pcAnywhere installed on the remote host is potentially affected by multiple vulnerabilities : - When handling an authentication request the process copies the user-supplied username unsafely to a fixed-length buffer, which could lead to arbitrary code execution. (CVE-2011-3478) - A local privilege escalation vulnerability exists because some files uploaded to the system during product installation are installed as writable by everyone. (CVE-2011-3479) - During a valid client server session unexpected input to the client can result in an exception error. This can create an acess violation resulting in the remote session being dropped but leaving the client session open in specific instances. (CVE-2012-0290) - Malformed input to a client or server or, an unexpected response to a request could potentially destabilize the application causing it to hang or crash resulting in a denial of service. (CVE-2012-0291)
last seen2020-06-01
modified2020-06-02
plugin id57796
published2012-02-02
reporterThis script is Copyright (C) 2012-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/57796
titleSymantec pcAnywhere Multiple Vulnerabilities (SYM12-002)
code
#
# (C) Tenable Network Security, Inc.
#

include('compat.inc');

if (description)
{
  script_id(57796);
  script_version("1.21");
  script_cvs_date("Date: 2018/11/15 20:50:29");

  script_cve_id(
    "CVE-2011-3478",
    "CVE-2011-3479",
    "CVE-2012-0290",
    "CVE-2012-0291"
  );
  script_bugtraq_id(51592, 51593, 51862, 51965);
  script_xref(name:"EDB-ID", value:"18493");
  script_xref(name:"IAVA", value:"2012-A-0019");
  script_xref(name:"EDB-ID", value:"18823");
  script_xref(name:"EDB-ID", value:"19407");

  script_name(english:"Symantec pcAnywhere Multiple Vulnerabilities (SYM12-002)");
  script_summary(english:"Checks version of awhlogon.dll");

  script_set_attribute(attribute:"synopsis", value:
"An application installed on the remote host is affected by multiple
remote vulnerabilities.");

  script_set_attribute(attribute:"description", value:
"The version of Symantec pcAnywhere installed on the remote host is
potentially affected by multiple vulnerabilities :

  - When handling an authentication request the process
    copies the user-supplied username unsafely to a
    fixed-length buffer, which could lead to arbitrary code
    execution. (CVE-2011-3478)

  - A local privilege escalation vulnerability exists
    because some files uploaded to the system during
    product installation are installed as writable by
    everyone. (CVE-2011-3479)

  - During a valid client server session unexpected input to
    the client can result in an exception error.  This can
    create an acess violation resulting in the remote
    session being dropped but leaving the client session
    open in specific instances. (CVE-2012-0290)

  - Malformed input to a client or server or, an unexpected
    response to a request could potentially destabilize the
    application causing it to hang or crash resulting in a
    denial of service. (CVE-2012-0291)");

  script_set_attribute(attribute:"see_also", value:"https://www.zerodayinitiative.com/advisories/ZDI-12-018/");
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2012/Jan/154");
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2012/Jan/155");
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2012/Jan/161");
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2012/Apr/230");
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2012/Apr/231");
   # https://support.symantec.com/en_US/article.SYMSA1244.html
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?5362bb91");
  script_set_attribute(attribute:"solution", value:"Apply the hotfix referenced in the Symantec advisory.");
  script_set_cvss_base_vector("CVSS2#AV:N/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:"exploit_framework_canvas", value:"true");
  script_set_attribute(attribute:"canvas_package", value:'White_Phosphorus');

  script_set_attribute(attribute:"vuln_publication_date", value:"2012/01/23");
  script_set_attribute(attribute:"patch_publication_date", value:"2012/01/23");
  script_set_attribute(attribute:"plugin_publication_date", value:"2012/02/02");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:symantec:pcanywhere");
  script_set_attribute(attribute:"stig_severity", value:"I");
  script_end_attributes();

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

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

  script_dependencies("symantec_pcanywhere_installed.nasl");
  script_require_keys("SMB/Symantec pcAnywhere/Path", "SMB/Symantec pcAnywhere/Version");
  script_require_ports(139, 445);

  exit(0);
}

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

path = get_kb_item_or_exit('SMB/Symantec pcAnywhere/Path');
version = get_kb_item_or_exit('SMB/Symantec pcAnywhere/Version');
build = get_kb_item_or_exit('SMB/Symantec pcAnywhere/Build');

ver = split(version, sep:'.');
for (i=0; i<max_index(ver); i++)
  ver[i] = int(ver[i]);

# The hotfix is only available for version 12.x
if (ver[0] == 12)
{
  # Connect to the appropriate share
  name   = kb_smb_name();
  port   = kb_smb_transport();
  login  = kb_smb_login();
  pass   = kb_smb_password();
  domain = kb_smb_domain();



  share = ereg_replace(pattern:'^([A-Za-z]):.*', replace:'\\1$', string:path);
  dll   = ereg_replace(pattern:'^[A-Za-z]:(.*)', replace:'\\1\\awhlogon.dll', string:path);

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

  # Check the version of awhlogon.dll
  fh = CreateFile(
    file:dll,
    desired_access:GENERIC_READ,
    file_attributes:FILE_ATTRIBUTE_NORMAL,
    share_mode:FILE_SHARE_READ,
    create_disposition:OPEN_EXISTING
  );

  if (isnull(fh))
  {
    NetUseDel();
    exit(1, 'Couldn\'t open \''+(share-'$')+':'+dll+'\'.');
  }

  dllver = GetFileVersion(handle:fh);
  CloseFile(handle:fh);
  NetUseDel();

  if (isnull(dllver)) exit(1, 'Couldn\'t get the version \''+(share-'$')+':'+dll+'\'.');
  for (i=0; i<max_index(dllver); i++)
    dllver[i] = int(dllver[i]);

  dllversion = join(dllver, sep:'.');
  fix = NULL;
  if (ver[1] == 5)
  {
    if (ver[2] == 1 && build == 486)
      fix = '12.5.1.500';
    else if (ver[2] == 0 && (build == 463 || build == 442))
      fix = '12.5.0.480';
    else if (ver[2] == 0 && build == 265)
      fix = '12.5.0.300';
  }
  else if (ver[1] == 1)
  {
    if (ver[2] == 0 && (build == 469 || build == 464))
      fix = '12.1.0.470';
    else if (ver[2] == 0 && build == 448)
      fix = '12.1.0.450';
  }
  else if (ver[1] == 0)
  {
    if (ver[2] == 3 && build == 202)
      fix = '12.0.3.210';
    else if (ver[2] == 2 && build == 166)
      fix = '12.0.2.366';
    else if (ver[2] == 1 && build == 156)
      fix = '12.0.1.357';
  }
  if (fix)
  {
    if (ver_compare(ver:dllversion, fix:fix) == -1)
    {
      if (report_verbosity > 0)
      {
        report =
          '\n  Path              : ' + path +
          '\n  Affected DLL      : ' + dll +
          '\n  Installed version : ' + join(dllver, sep:'.') +
          '\n  Fixed version     : ' + fix + '\n';
        security_hole(port:port, extra:report);
      }
      else security_hole(port);
      exit(0);
    }
    else exit(0, 'awhlogon.dll version '+join(dllver, sep:'.')+' was detected on the remote host, and thus is not affected.');
  }
}

Packetstorm

data sourcehttps://packetstormsecurity.com/files/download/114230/pcanywhere-overflow.txt
idPACKETSTORM:114230
last seen2016-12-05
published2012-06-27
reporterS2 Crew
sourcehttps://packetstormsecurity.com/files/114230/Symantec-PcAnywhere-12.5.0-Buffer-Overflow.html
titleSymantec PcAnywhere 12.5.0 Buffer Overflow

Saint

bid51592
descriptionSymantec pcAnywhere Host Services Login Overflow
idmisc_pcanywherever
osvdb78532
titlesymantec_pcanywhere_host_services_login
typeremote

Seebug

bulletinFamilyexploit
descriptionNo description provided by source.
idSSV:60241
last seen2017-11-19
modified2012-06-27
published2012-06-27
reporterRoot
sourcehttps://www.seebug.org/vuldb/ssvid-60241
titleSymantec PcAnywhere 12.5.0 Login and Password Field Buffer Overflow