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”

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. Isto leva ao seguinte problema:

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]");
...
---

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://nvd.nist.gov/vuln/detail/CVE-2018-18856

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


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

Última modificação: 7 de novembro de 2018