ASA-2018-00028 – LiquidVPN: Injeção de comandos do SO


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00028

Identificador(es)

ASA-2018-00028, CVE-2018-18858

Título

Injeção de comandos do SO

Fabricante(s)

LiquidVPN

Produto(s)

LiquidVPN para macOS

Versão(ões) afetada(s)

LiquidVPN 1.37, 1.36 e anterior

Versão(ões) corrigida(s)

Desconhecido

Prova de conceito

Desconhecido

Descrição

LiquidVPN instala a ferramenta auxiliar “com.smr.liquidvpn.OVPNHelper” para realizar ações privilegiadas (root). Para permitir que outros componentes LiquidVPN envie mensagens para a ferramenta auxiliar, ele implementa um serviço XPC. Análise de código estática mostrou que o serviço XPC não filtra mensagens recebidas. Isto significa que usuários regulares (atacantes locais) possam criar mensagens XPC arbitrárias e enviar para o serviço.

Detalhes técnicos

Se o serviço detectar o parâmetro “openvpn” na mensagem, ele também checa se os parâmetros “tun_path” e “tap_path” existem. Se um deles (ou ambos) são encontrados, os valores são usados como como caminhos de origem para um processo de cópia usando a função system(). Contudo, os caminhos não são validados antes de serem passados para a função system().

---
...
__text:00000001000013CD lea rsi, aPathTun ; "path_tun"
__text:00000001000013D4 mov rdi, rbx
__text:00000001000013D7 call _xpc_dictionary_get_string
__text:00000001000013DC mov r14, rax
__text:00000001000013DF lea rsi, aPathTap ; "path_tap"
__text:00000001000013E6 mov rdi, rbx
__text:00000001000013E9 call _xpc_dictionary_get_string
...
__text:000000010000143F call _strcat
__text:0000000100001444 mov rdi, rbx ; char *
__text:0000000100001447 call _strlen
...
__text:0000000100001497 mov rdi, rbx ; char *
__text:000000010000149A call _system
...
---

A seguinte prova de conceito pode ser usada para executar comandos arbitrários no sistema:

---
...
xpc_dictionary_set_string(message, "cmd", "openvpn");
xpc_dictionary_set_string(message, "path_tun", "/tmp/__dummy00_;[COMANDOS_ARBITRÁRIOS]");
...
---

Créditos

Bernd Leitner

Referência(s)

Multiple Privilege Escalation Vulnerabilities in LiquidVPN for MacOS (CVE-2018-18856, CVE-2018-18857, CVE-2018-18858, CVE-2018-18859)
https://seclists.org/fulldisclosure/2018/Nov/1

CVE-2018-18858
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18858

CVE-2018-18858
https://nvd.nist.gov/vuln/detail/CVE-2018-18858

Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.

Última modificação: 1 fevereiro 2019

Não somos responsáveis por qualquer perda de dados, corrupção de dispositivos ou qualquer outro tipo de problema devido ao uso de qualquer informação mencionada em nossos alertas de segurança.