ASA-2018-00027 – LiquidVPN: Escalação de privilégios através do parâmetro “openvpncmd”


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00027

Identificador(es)

ASA-2018-00027, CVE-2018-18856

Título

Escalação de privilégios através do parâmetro “openvpncmd”

Fabricante(s)

LiquidVPN

Produto(s)

LiquidVPN para macOS

Versão(ões) afetada(s)

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

O serviço checa se o parâmetro “openvpn” existe. Se ele existe, o parâmetro “openvpncmd” é extraído e passado como argumento para uma chamada a função system():

---
...
__text:00000001000013F1 lea rsi, aOpenvpncmd ;"openvpncmd"
__text:00000001000013F8 mov rdi, rbx
__text:00000001000013FB call _xpc_dictionary_get_string
...
__text:000000010000166A mov rdi, r15 ; char *
__text:000000010000166D call _system
__text:0000000100001672 lea rsi, aReply ; "reply"
__text:0000000100001679 lea rdx, aOpenvpnCommand ;"openvpn command executed (ver 3)"
__text:0000000100001680 mov rdi, r12
__text:0000000100001683 call _xpc_dictionary_set_string
...
---

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, "openvpncmd", "[COMANDO_ARBITRÁRIO]");
...
---

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-18856
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18856

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

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.