Vulnerabilities > CVE-2020-3153 - Uncontrolled Search Path Element vulnerability in Cisco Anyconnect Secure Mobility Client 4.8.00175/4.8.01090

047910
CVSS 4.9 - MEDIUM
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
COMPLETE
Availability impact
NONE
local
low complexity
cisco
CWE-427
nessus

Summary

A vulnerability in the installer component of Cisco AnyConnect Secure Mobility Client for Windows could allow an authenticated local attacker to copy user-supplied files to system level directories with system level privileges. The vulnerability is due to the incorrect handling of directory paths. An attacker could exploit this vulnerability by creating a malicious file and copying the file to a system directory. An exploit could allow the attacker to copy malicious files to arbitrary locations with system level privileges. This could include DLL pre-loading, DLL hijacking, and other related attacks. To exploit this vulnerability, the attacker needs valid credentials on the Windows system.

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Leveraging/Manipulating Configuration File Search Paths
    This attack loads a malicious resource into a program's standard path used to bootstrap and/or provide contextual information for a program like a path variable or classpath. J2EE applications and other component based applications that are built from multiple binaries can have very long list of dependencies to execute. If one of these libraries and/or references is controllable by the attacker then application controls can be circumvented by the attacker. A standard UNIX path looks similar to this If the attacker modifies the path variable to point to a locale that includes malicious resources then the user unwittingly can execute commands on the attackers' behalf: This is a form of usurping control of the program and the attack can be done on the classpath, database resources, or any other resources built from compound parts. At runtime detection and blocking of this attack is nearly impossible, because the configuration allows execution.
  • DLL Search Order Hijacking
    The attacker exploits the functionality of the Windows DLL loader where the process loading the DLL searches for the DLL to be loaded first in the same directory in which the process binary resides and then in other directories (e.g., System32). Exploitation of this preferential search order can allow an attacker to make the loading process load the attackers' rogue DLL rather than the legitimate DLL. For instance, an attacker with access to the file system may place a malicious ntshrui.dll in the C:\Windows directory. This DLL normally resides in the System32 folder. Process explorer.exe which also resides in C:\Windows, upon trying to load the ntshrui.dll from the System32 folder will actually load the DLL supplied by the attacker simply because of the preferential search order. Since the attacker has placed its malicious ntshrui.dll in the same directory as the loading explorer.exe process, the DLL supplied by the attacker will be found first and thus loaded in lieu of the legitimate DLL. Since explorer.exe is loaded during the boot cycle, the attackers' malware is guaranteed to execute. This attack can be leveraged with many different DLLs and with many different loading processes. No forensic trails are left in the system's registry or file system that an incorrect DLL had been loaded.

Nessus

NASL familyWindows
NASL idCISCO-SA-AC-WIN-PATH-TRAVERSE-QO4HWBSJ.NASL
descriptionA vulnerability in the installer component of Cisco AnyConnect Secure Mobility Client for Windows could allow an authenticated local attacker to copy user-supplied files to system level directories with system level privileges. The vulnerability is due to the incorrect handling of directory paths. An attacker could exploit this vulnerability by creating a malicious file and copying the file to a system directory. An exploit could allow the attacker to copy malicious files to arbitrary locations with system level privileges. This could include DLL pre-loading, DLL hijacking, and other related attacks. To exploit this vulnerability, the attacker needs valid credentials on the Windows system. Please see the included Cisco BIDs and Cisco Security Advisory for more information.
last seen2020-04-30
modified2020-02-28
plugin id134164
published2020-02-28
reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
sourcehttps://www.tenable.com/plugins/nessus/134164
titleCisco AnyConnect Secure Mobility Client for Windows Uncontrolled Search Path Vulnerability
code
#TRUSTED 332084dbb4b3f4b1369e093261f2ebee746c61d2438088fe0292344374209bf4672c5dede5ddeefb4bfb7ac644a5a2fe9fb90d96c6bcf11f46011285a2a4a2da700553a1ac9b2612bc1c53c6111364bded70fde9e1a9640878f382aff9f122541da20df897ae219da2f12ca5d335493a0b899f0336baba93a206a03a4333ce2a79910998b92ffca2cba53fb15ef41dcd911b22962fdd333a4d425b65ed23a54a51b607ab51e70e13a766384c4bedc067a8f5739b25075f5812e92b6502639efe036d87ceb26d1ab5266045653171bb1949d51f1bb93f45a39d4ac09cb5e8c7b0eb32fef03beb3cc9dcb9699b0df45d756c8a6294205e7bd5c1b814719b398f27c332b58b62dadfd390c879616b086b97d79da471b08234de08bc796262d6b701a73e500008a7fa251f7a19e7daf7ef4821a47c4e92a13d75182813e08475c715061eacbb132fc7868f7d27cd4c4ce9e83e92f09f4b7e6951e5a9fbb5a11e87be893f95ca68d5fea4a30172514b443b98f6f2ed298d8ca091a561f31ae59c75398c983b3c9c96a423257a0c2fc4b9b37d287b11d238f42566bf89fb8e026b0f0de22e84a6e560033ff3e769fc906e6fe1439b8389f074cf0a7129c185afba7c56cd2f074563e2758571d42233b0392d9627f79885af2dd5037ccd654505571493deeefadb0ed9c8cbfc5418a3de68f65c915f9f499435893cbbce990730b3c887
#
# (C) Tenable Network Security, Inc.
#

include('compat.inc');

if (description)
{
  script_id(134164);
  script_version("1.14");
  script_set_attribute(attribute:"plugin_modification_date", value:"2020/07/09");

  script_cve_id("CVE-2020-3153");
  script_xref(name:"CISCO-BUG-ID", value:"CSCvs46327");
  script_xref(name:"CISCO-SA", value:"cisco-sa-ac-win-path-traverse-qO4HWBsj");
  script_xref(name:"IAVA", value:"2020-A-0080");

  script_name(english:"Cisco AnyConnect Secure Mobility Client for Windows Uncontrolled Search Path Vulnerability");

  script_set_attribute(attribute:"synopsis", value:
"The remote device is missing a vendor-supplied security patch");
  script_set_attribute(attribute:"description", value:
"A vulnerability in the installer component of Cisco AnyConnect Secure Mobility Client for Windows could allow an
authenticated local attacker to copy user-supplied files to system level directories with system level privileges.
The vulnerability is due to the incorrect handling of directory paths. An attacker could exploit this vulnerability
by creating a malicious file and copying the file to a system directory. An exploit could allow the attacker to copy
malicious files to arbitrary locations with system level privileges. This could include DLL pre-loading, DLL hijacking,
and other related attacks. To exploit this vulnerability, the attacker needs valid credentials on the Windows system.

Please see the included Cisco BIDs and Cisco Security Advisory for more information.");
  # https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-ac-win-path-traverse-qO4HWBsj
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?4657eb24");
  script_set_attribute(attribute:"see_also", value:"https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvs46327");
  script_set_attribute(attribute:"solution", value:
"Upgrade to the relevant fixed version referenced in Cisco bug ID CSCvs46327");
  script_set_attribute(attribute:"agent", value:"windows");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:N/I:C/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2020-3153");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploited_by_malware", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'Cisco AnyConnect Priv Esc through Path Traversal');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
  script_cwe_id(427);

  script_set_attribute(attribute:"vuln_publication_date", value:"2020/02/19");
  script_set_attribute(attribute:"patch_publication_date", value:"2020/02/19");
  script_set_attribute(attribute:"plugin_publication_date", value:"2020/02/28");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:cisco:anyconnect_secure_mobility_client");
  script_set_attribute(attribute:"stig_severity", value:"II");
  script_end_attributes();

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

  script_copyright(english:"This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("cisco_anyconnect_vpn_installed.nasl");
  script_require_keys("installed_sw/Cisco AnyConnect Secure Mobility Client", "SMB/Registry/Enumerated");
  script_require_ports(139, 445);

  exit(0);
}

include('vcf.inc');

get_kb_item_or_exit('SMB/Registry/Enumerated');

app_info = vcf::get_app_info(app:'Cisco AnyConnect Secure Mobility Client', win_local:TRUE);

constraints = [{ 'fixed_version' : '4.8.02042' }];

vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_WARNING);

Packetstorm

data sourcehttps://packetstormsecurity.com/files/download/157340/ciscoanyconnectsmc4801090-escalate.txt
idPACKETSTORM:157340
last seen2020-04-25
published2020-04-21
reporterYorick Koster
sourcehttps://packetstormsecurity.com/files/157340/Cisco-AnyConnect-Secure-Mobility-Client-4.8.01090-Privilege-Escalation.html
titleCisco AnyConnect Secure Mobility Client 4.8.01090 Privilege Escalation