16. 08. 2013

PuTTY je aplikace pro přístup uživatele ke vzdálené službě (serveru) pomocí protokolů SSH, Telnet, rlogin a SCP. Jde o svobodný a open source software. Původně byl vyvinut pro systém Windows, v současně době je dostupný i pro unixové platformy.

Charakteristiky zranitelností

  • Buffer underrun ve funkci modmul() může vést k poškození haldy, případně i pádu aplikace. Modmul() funkce je volána při validaci jakéhokoli DSA podpisu obdrženého klientem PuTTY, včetně počáteční fáze výměny klíčů. Proto může být chyba zneužita útočníkem (škodlivým serverem) předtím, než klient obdrží a ověří podpis hostitelského klíče. Pomocí této zranitelnosti lze pak provést útok man-in-the-middle mezi SSH klientem a serverem nebo útok denial of-service.
  • Negativní délka řetězce v podpisu veřejného klíče může způsobit integer overflow. Verze PuTTY před verzí 0.63 obsahují integer overflow zranitelnost ve funkci ošetřování délky pole řetězce v podpisu veřejného klíče. Tato chyba se vztahuje na všechny RSA podpisy, které klient PuTTY obdržel, včetně počáteční fáze výměny klíčů. Chyba může být zneužita útočníkem (škodlivým serverem) předtím, než klient obdrží a ověří podpis hostitelského klíče. Pomocí této zranitelnosti lze pak provést útok man-in-the-middle mezi SSH klientem a serverem.
  • Citlivá data (zadané heslo při přihlášení SSH, klíče starších relací, passphrase nebo privátní části klíčů) zůstávají v paměti po načtení aplikací PuTTY. Až do verze 0.62 PuTTY obsahuje chybu, ve které funkce rsa_verify() nedokáže vymazat z paměti dvě velké celočíselné proměnné. Jejich znovuzískání z obrazu paměti PuTTY stačí k rekonstrukci RSA klíče.
  • Při ověřování DSA podpisu může během výpočtu inverzního prvku dojít k buffer overflow při pokusu o dělení nulou. Tato chyba se vztahuje na všechny DSA podpisy, které PuTTY obdržel během počáteční fáze výměny klíčů. Proto může být tato chyba zneužita škodlivým serverem, ještě než klient obdrží a ověří podpis hostitelského klíče. Pomocí této zranitelnosti lze pak provést útok man-in-the-middle mezi SSH klientem a serverem.

Postižené systémy

  • PuTTY do a včetně verze 0.62
  • WinSCP před verzí 5.1.6
  • veškerý další software, který využívá zranitelný (revision 9895 nebo dřívější) PuTTY kód

Dopad zranitelnosti

Umožní útočníkovi získat přístup k celému systému.

Řešení

Upgradovat na verzi PuTTY 0.63, aplikaci WinSCP aktualizovat na verzi 5.1.6. Tým vyvíjející aplikaci PuTTY doporučuje všem subjektům, které využívají jejich kód, používat revizi 9896 a novější.

CVE

CVE-2013-4852, CVE-2013-4208, CVE-2013-4207, CVE-2013-4206 CVE-2011-4607

Odkazy

http://www.nessus.org/u?4834e145
http://www.nessus.org/u?20c27652
http://www.nessus.org/u?7bdd07a8
http://www.nessus.org/u?e1b0243c
http://www.search-lab.hu/advisories/secadv-20130722