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

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:

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

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

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


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

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