Descobertas cerca de 37 vulnerabilidades no VNC! Atualize!

Se você usa o VNC (qualquer uma das variantes dele), foram descobertas cerca de 37 vulnerabilidades no VNC. Confira os detalhes e atualize.

O VNC é um aplicativo de controle remoto multiplataforma usado em todo mundo para obter acesso e usar dispositivos remotamente. Apenas a sua funcionalidade, apesar de útil, já é um grande risco de segurança. Agora, ele também pode estar colocando em risco a segurança de sistemas.

Descobertas cerca de 37 vulnerabilidades no VNC! Atualize!
Descobertas cerca de 37 vulnerabilidades no VNC! Atualize!

Recentemente, Pavel Cheremushkin, da Kaspersky Lab, analisou várias implementações do sistema de acesso remoto VNC (Virtual Network Computing) e identificou 37 vulnerabilidades causadas por problemas de memória.

Descobertas cerca de 37 vulnerabilidades no VNC! Atualize!

As vulnerabilidades detectadas nas implementações do servidor VNC podem ser exploradas apenas por um usuário autenticado e os ataques a vulnerabilidades no código do cliente são possíveis quando um usuário se conecta a um servidor controlado por um invasor.

No blog da Kaspersky, eles comentam que essas vulnerabilidades podem ser exploradas da seguinte maneira:

Os aplicativos VNC consistem em duas partes: um servidor instalado no computador ao qual seu funcionário se conecta remotamente e um cliente em execução no dispositivo ao qual ele se conecta.

As vulnerabilidades são muito menos comuns no lado do servidor, o que é sempre um pouco mais simples e, portanto, tem menos erros.

No entanto, nossos especialistas em CERT descobriram erros nas duas partes dos aplicativos sob investigação, embora em muitos casos um ataque ao servidor possa ser impossível sem autorização.

O maior número de vulnerabilidades foi encontrado no pacote UltraVNC, disponível apenas para a plataforma Windows. No total, 22 vulnerabilidades foram identificadas no UltraVNC. 13 vulnerabilidades poderiam levar à execução de código no sistema, 5 poderiam filtrar o conteúdo das áreas de memória e 4 causariam uma negação de serviço.
 
Todas essas vulnerabilidades foram corrigidas na versão 1.2.3.0.


Enquanto na biblioteca aberta LibVNC (LibVNCServer e LibVNCClient), usada no VirtualBox, 10 vulnerabilidades foram identificadas.

5 vulnerabilidades (CVE-2018-20020, CVE-2018-20019, CVE-2018-15127, CVE-2018-15126, CVE-2018-6307) foram causadas por estouros de buffer e podem levar à execução do código.

3 vulnerabilidades podem levar ao vazamento de informações; 2 para negação de serviço.

Os desenvolvedores já resolveram todos os problemas: a maioria das correções está incluída no lançamento do LibVNCServer 0.9.12, mas até agora todas as correções são refletidas apenas na ramificação principal e nas atualizações geradas pelas distribuições.

No TightVNC 1.3 (filial herdada de plataforma cruzada herdada), desde que a versão atual 2.x foi lançada apenas para Windows), quatro vulnerabilidades foram descobertas. Três problemas (CVE-2019-15679, CVE-2019-15678, CVE-2019-8287) são causados ​​por estouros de buffer nas funções InitialiseRFBConnection, rfbServerCutText e HandleCoRREBBP e podem levar à execução do código.

Um problema (CVE-2019-15680) leva a uma negação de serviço. Embora os desenvolvedores do TightVNC tenham sido notificados sobre os problemas no ano passado, as vulnerabilidades permanecem não corrigidas.

No pacote multiplataforma TurboVNC (fork do TightVNC 1.3, que usa a biblioteca libjpeg-turbo), apenas uma vulnerabilidade é encontrada (CVE-2019-15683), mas é perigosa e, se houver acesso autenticado ao servidor, é possível organizar a execução de seu código, assim como nos estouros de buffer, é possível controlar o endereço de retorno.

O problema foi corrigido em 23 de agosto e não aparece na versão atual 2.2.3.

Se você quiser saber mais sobre isso, verifique os detalhes na publicação original.

Como atualizar o VNC

Para atualizar o VNC, primeiramente, abra um terminal,

libvncserver

O código da biblioteca pode ser baixado de seu repositório no GitHub. Para baixar a versão mais atual no momento, use o seguinte comando;

wget https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.12.zip -O libvncserver.zip

Em seguida, descompacte o arquivo baixado com esse comando:

unzip libvncserver.zip

Depois, acesse a pasta criada:

cd libvncserver-LibVNCServer-*

Por fim, compile e instale com esses comandos:

mkdir build
cd build
cmake ..
cmake --build .

TurboVNC

Para atualizar para esta nova versão, basta baixar o pacote da versão estável mais recente, que você pode obter nesse endereço. Ou, use o comando abaixo:

wget https://ufpr.dl.sourceforge.net/project/turbovnc/2.2.3/turbovnc_2.2.3_amd64.deb -O turbovnc.deb

Após o download do pacote, agora você pode simplesmente instalá-lo clicando duas vezes nele e o centro de software assumirá a instalação ou você poderá fazê-lo com seu gerenciador de pacotes preferido ou em um terminal.

O último é feito posicionando o local onde o pacote baixado está no seu terminal e nele, basta digitar:

sudo dpkg -i turbovnc*.deb

O que está sendo falado no blog

No Post found.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.