ASA-2019-00542 – radare2: Injeção de comando na função bin_symbols()


For the English version of this alert, click here.

Allele Security Alert

ASA-2019-00542

Identificador(es)

ASA-2019-00542, CVE-2019-14745

Título

radare2

Fabricante(s)

The radare2 project

Produto(s)

radare2

Versão(ões) afetada(s)

radare2 versões anteriores à 3.7.0

Versão(ões) corrigida(s)

radare2 versão 3.7.0

Prova de conceito

Sim

Descrição

No radare2 anterior a versão 3.7.0, existe uma vulnerabilidade de injeção de comando na função bin_symbols() em libr/core/cbin.c. Ao usar um arquivo executável, é possível executar comandos arbitrários do shell com as mesmas permissões do usuário. Esta vulnerabilidade ocorre devido ao tratamento inadequado de nomes de símbolos incorporados nos executáveis.

Detalhes técnicos

Substituindo um nome de símbolo como gethostname por:

`! <cmd>`

usando r2 ou um editor hexadecimal, torna-se possível fornecer um comando shell arbitrário dentro de um binário. Como é bastante comum analisar e depurar binários não confiáveis e mal-intencionados, esse parece ser um ótimo cenário de ataque, pois é praticamente invisível para possíveis vítimas. Além disso, o comando shell nem é exibido no console após a execução:

|ERROR| Invalid command 'f sym.imp.p 99`AAAAAAAAAAA 16 0x557aa086c000' (0x66)

Nenhum sinal do comando sleep. A função que está executando r_core_cmd0(core, “.is*”) internamente é chamada r_core_file_reopen_debug(). Ela é invocada pelo comando ood.

r2 -c "ood" -d /tmp/hax
--> PWNED

Créditos

ps1337 e blenk92

Referência(s)

r2con 2019 PwnDebian Challenge: Exploiting radare2 (CVE-2019-14745)
https://bananamafia.dev/post/r2-pwndebian/

bin_symbols: Add quoting #14690
https://github.com/radareorg/radare2/pull/14690

bin_symbols: Add quoting (#14690)
https://github.com/radareorg/radare2/commit/7d30ff52fc1be6f9698b166107b8981eab6ec7ba

Demangle relocs and add asm.flags.{inline|limit|maxname} ##disasm
https://github.com/radareorg/radare2/commit/5ecd4c352bae1114730321fec2bde72332f8f090

GitHub – ps1337/r2-pwndebian-exploits
https://github.com/ps1337/r2-pwndebian-exploits

ASA-2019-00543 – radare2: Command injection in bin_symbols()
https://allelesecurity.com/asa-2019-00543/

CVE-2019-14745
https://security-tracker.debian.org/tracker/CVE-2019-14745

CVE-2019-14745 in Ubuntu
https://people.canonical.com/~ubuntu-security/cve/CVE-2019-14745.html

CVE-2019-14745
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14745

CVE-2019-14745
https://nvd.nist.gov/vuln/detail/CVE-2019-14745

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

Última modificação: 26 setembro 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.