Blaze Blog /

Aviso de segurança: escalação de privilégio local no cliente Mullvad VPN para Windows 2020.3

Security
Jun 22, 2020
2min read
Ilustração de um ciborgue exterminador de pragas queimando um inseto com um lança-chamas

Informações do aviso

Título: Elevação de privilégio local no cliente Mullvad VPN para Windows 2020.3
Referência do aviso: BLAZE-03-2020
Produto: Mullvad 2020.3 para Windows
Referência CVE: CVE-2020-14197
Modo de divulgação: Coordenada

Descrição do produto

O Mullvad é um provedor de VPN sediado na Suécia com um forte foco em privacidade. A empresa atua há mais de 10 anos e possui um histórico de resolução rápida de problemas de segurança, como o Heartbleed, além de contratar regularmente auditorias independentes de terceiros para seu software.

O serviço fornecido pelo Mullvad é utilizado por clientes em todo o mundo e inclui parceiros como a Mozilla e a Malwarebytes.

Detalhes da vulnerabilidade

Sob certas condições, o Mullvad VPN para Windows é vulnerável a uma elevação de privilégio local, permitindo que usuários com poucos privilégios elevem seus acessos para SYSTEM.

O mullvad-daemon.exe é o serviço de daemon usado pelo Mullvad VPN para Windows. O serviço é executado com integridade de sistema, com privilégios efetivos de NT AUTHORITY\SYSTEM.

Ao configurar o Process Monitor (ProcMon) para registrar todas as ocorrências de atividades de serviços durante a inicialização e aplicar filtros como "PATH NOT FOUND" ou "NAME NOT FOUND" para detectar acessos malsucedidos a DLLs ou arquivos de configuração no sistema de arquivos.

procmon filter

Observou-se que o mullvad-daemon.exe tentava procurar um arquivo openssl.cnf no diretório C:\Users\build\mullvadvpn-app\dist-assets\binaries\msvc-openssl

procmon filter 2

Conforme documentado em PIA Windows Privilege Escalation: Malicious OpenSSL Engine [1], arquivos openssl.cnf podem permitir o carregamento de mecanismos externos, incluindo arquivos DLL.

openssl cfg
malicious DLL

O cenário de exploração não é muito trivial devido à restrição relacionada ao C:\Users\build. Uma máquina de desenvolvimento pode ter um nome de usuário chamado build, ao qual diferentes desenvolvedores têm acesso, permitindo assim a exploração.

Um usuário chamado build, com acesso ao seu próprio diretório, pode criar as subpastas necessárias e inserir um openssl.cnf malicioso que conterá um parâmetro dynamic_path apontando para uma DLL maliciosa.

procmon filter 4

A biblioteca dinâmica será carregada posteriormente pelo mullvad-daemon.exe usando Load Image como SYSTEM, sem personificação, permitindo a elevação de privilégio devido ao carregamento da DLL maliciosa na memória do serviço.

load image

Correção e recomendações

A Mullvad resolveu o problema substituindo o OpenSSL pelo rusttls, melhorando a segurança geral do software ao abandonar bibliotecas escritas em linguagens sem segurança de memória.

Recomendamos que os usuários atualizem o Mullvad VPN para a versão 2020.4.

Créditos

Esta vulnerabilidade foi descoberta e pesquisada por Julio Cesar Fort, da Blaze Information Security (https://www.blazeinfosec.com)

Cronograma de divulgação

24/02/2020: Vulnerabilidade reportada para [email protected];
25/02/2020: Resposta inicial da Mullvad confirmando o recebimento do relatório;
22/04/2020: Acompanhamento realizado – a Mullvad informou que o problema seria resolvido na próxima versão;
13/05/2020: Versão 2020.4 lançada, corrigindo o problema;
16/06/2020: O MITRE atribuiu o CVE-2020-14197 a este problema;
22/06/2020: Comunicado de segurança divulgado.

Referências

[1] https://blog.mirch.io/2019/06/10/cve-2019-12572-pia-windows-privilege-escalation-malicious-openssl-engine/
[2] https://mullvad.net/en/blog/2020/5/13/latest-desktop-release-20204-packed-updates/

Sobre a Blaze Information Security

A Blaze Information Security é uma empresa independente e privada de segurança da informação, fruto de anos de experiência combinada. Com presença na América do Sul e na Europa, a Blaze conta com uma equipe de engenheiros de segurança seniores com experiência prévia nas principais empresas de consultoria em segurança da informação ao redor do mundo e um histórico comprovado de pesquisas de segurança publicadas.

E-mail: [email protected]
Blog Wildfire Labs: https://www.blazeinfosec.com/labs/
Twitter: https://www.twitter.com/blazeinfosec
Github: https://www.github.com/blazeinfosec

Impressão digital da chave PGP: DB53 D9D9 F0E1 E513 4F52 8219 C33B C7FA C5D0 E926

Do you have questions? Let's talk.

Get in touch with our cybersecurity experts

Read More