Nedávno Pavel Cheremushkin dSpolečnost Kaspersky Lab analyzovala různé implementace systému vzdáleného přístupu VNC (Výpočet virtuální sítě) a identifikováno 37 zranitelností způsobené problémy s pamětí.
V implementacích serveru VNC byly zjištěny chyby zabezpečení lze zneužít pouze ověřeným uživatelem a útoky na zranitelná místa v klientském kódu jsou možné, když se uživatel připojí k serveru ovládanému útočníkem.
Na blogu Kaspersky to komentujíTyto chyby zabezpečení lze zneužít následujícím způsobem:
Aplikace VNC se skládají ze dvou částí: serveru nainstalovaného v počítači, ke kterému se váš zaměstnanec připojuje na dálku, a klienta, který běží na zařízení, ze kterého se připojují. Zranitelnosti jsou na straně serveru mnohem méně časté, což je vždy o něco jednodušší, a proto má méně chyb. Naši odborníci CERT však objevili chyby v obou částech vyšetřovaných aplikací, i když v mnoha případech by útok na server mohl být bez povolení nemožný.
O zranitelnostech
Většina chyb zabezpečení byla nalezena v balíčku UltraVNC, k dispozici pouze pro platformu Windows. Celkově v UltraVNC Bylo identifikováno 22 zranitelných míst. 13 chyb zabezpečení by mohlo vést ke spuštění kódu v systému, 5 by mohlo způsobit únik obsahu paměťových oblastí a 4 by mohlo vést k odmítnutí služby.
Všechny tyto chyby zabezpečení byly opraveny ve verzi 1.2.3.0.
V otevřené knihovně LibVNC (LibVNCServer a LibVNCClient), který se používá ve VirtualBoxu, Bylo identifikováno 10 zranitelných míst. 5 chyb zabezpečení (CVE-2018-20020, CVE-2018-20019, CVE-2018-15127, CVE-2018-15126, CVE-2018-6307) bylo způsobeno přetečením vyrovnávací paměti a mohlo by vést ke spuštění kódu. 3 chyby zabezpečení mohou vést k úniku informací; 2 k odmítnutí služby.
Vývojáři již vyřešili všechny problémy- Většina oprav je obsažena ve verzi LibVNCServer 0.9.12, ale zatím se všechny opravy projeví pouze v hlavní větvi a v aktualizacích generovaných distribucí.
V TightVNC 1.3 (testována starší platforma pro více platforem), protože aktuální verze 2.x byla vydána pouze pro Windows), Byly objeveny 4 chyby zabezpečení. Tři problémy (CVE-2019-15679, CVE-2019-15678, CVE-2019-8287) jsou způsobeny přetečením vyrovnávací paměti ve funkcích InitialiseRFBConnection, rfbServerCutText a HandleCoRREBBP a mohly by vést ke spuštění kódu.
Problém (CVE-2019-15680) vede k odmítnutí služby. Navzdory skutečnosti, že vývojáři TightVNC byli o problémech informováni v loňském roce, chyby zabezpečení zůstávají neopravené.
V balíčku pro různé platformy TurboVNC (vidlice TightVNC 1.3, která používá knihovnu libjpeg-turbo), nalezena pouze jedna chyba zabezpečení (CVE-2019-15683), ale je to nebezpečné a pokud existuje ověřený přístup k serveru, umožňuje organizovat provádění vašeho kódu, takže při přetečení vyrovnávací paměti je možné řídit směr návratu. Problém byl opraven 23. srpna a v aktuální verzi 2.2.3 se neobjevuje.
Pokud se o tom chcete dozvědět více můžete zkontrolovat podrobnosti v původním příspěvku. Odkaz je tento.
Pokud jde o aktualizace balíčků, lze je provést následujícím způsobem.
libvncserver
Kód knihovny mohou si ji stáhnout ze svého úložiště na GitHubu (odkaz je tento). Chcete-li stáhnout nejnovější verzi v tuto chvíli, můžete otevřít terminál a zadat do něj následující:
wget https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.12.zip
Rozbalte pomocí:
unzip libvncserver-LibVNCServer-0.9.12
Adresář zadáte pomocí:
cd libvncserver-LibVNCServer-0.9.12
Balíček sestavíte pomocí:
mkdir build cd build cmake .. cmake --build .
TurboVNC
Chcete-li provést aktualizaci na tuto novou verzi, stačí stáhnout nejnovější stabilní verzi balíčku, které lze získat z následující odkaz.
Hotovo stažení balíčku, nyní jej můžete jednoduše nainstalovat dvojitým kliknutím a nechte softwarové centrum, aby se postaralo o instalaci, nebo to mohou udělat s preferovaným správcem balíčků nebo z terminálu.
Dělají to tak, že se umístí tam, kde je stažený balíček ve svém terminálu, a v něm musí pouze psát:
sudo dpkg -i turbovnc_2.2.3_amd64.deb