ASA-2020-00040 – Canonical Ubuntu: Leitura arbitrária de arquivo e carregamento arbitrário de módulo devido ao carregamento de módulo manipulado incorretamente no pacote ppp


For the English version of this alert, click here.

Allele Security Alert

ASA-2020-00040

Identificador(es)

ASA-2020-00040, CVE-2020-15704, ZDI-CAN-11504

Título

Leitura arbitrária de arquivo e carregamento arbitrário de módulo devido ao carregamento de módulo manipulado incorretamente no pacote ppp

Fabricante(s)

Canonical

Produto(s)

Ubuntu

Versão(ões) afetadas(s)

Ubuntu 20.04

Pacote ppp versões anteriores à 2.4.7-2+4.1ubuntu5.1

Ubuntu 18.04

Pacote ppp versões anteriores à 2.4.7-2+2ubuntu1.3

Ubuntu 16.04

Pacote ppp versões anteriores à 2.4.7-1+2ubuntu1.16.04.3

Ubuntu 14.04

Pacote ppp versões anteriores à 2.4.5-5.1ubuntu2.3+esm2

Ubuntu 12.04

Pacote ppp versões anteriores à 2.4.5-5ubuntu1.4

Versão(ões) corrigidas(s)

Ubuntu 20.04

Pacote ppp versão 2.4.7-2+4.1ubuntu5.1 e posterior

Ubuntu 18.04

Pacote ppp versão 2.4.7-2+2ubuntu1.3 e posterior

Ubuntu 16.04

Pacote ppp versão 2.4.7-1+2ubuntu1.16.04.3 e posterior

Ubuntu 14.04

Pacote ppp versão 2.4.5-5.1ubuntu2.3+esm2 e posterior

Ubuntu 12.04

Pacote ppp versão 2.4.5-5ubuntu1.4 e posterior

Prova de conceito

Sim

Descrição

O pacote ppp no Ubuntu contém um patch para carregar o módulo do kernel ppp_generic quando ele não é compilado por padrão no kernel do Linux. O patch contém uma vulnerabilidade que permite a um atacante influenciar o comportamento do binário modprobe usando a variável de ambiente MODPROBE_OPTIONS. Esta vulnerabilidade leva à leitura arbitrária de arquivos ou carregamento arbitrário de módulos do kernel.

Detalhes técnicos

O patch executa o binário modprobe usando a função execl() e não define as variáveis de ambiente. Quando a função execl() é chamada sem definir as variáveis de ambiente, ela herda as variáveis de ambiente do processo que está chamando. Dessa forma, um atacante pode influenciar o comportamento do binário modprobe manipulando a variável de ambiente MODPROBE_OPTIONS.

MODPROBE_OPTIONS="-C ./ -d ./ rootmod -S ''" /sbin/pppd

Lendo arquivos arbitrários usando o contexto sandbox do comando man

$ PAGER='/bin/sh -c "MODPROBE_OPTIONS=\"-C /etc/shadow\" /sbin/pppd notty"'  man x

Créditos

Thomas Chauchefoin (@swapgs) da Synacktiv (@Synacktiv)

Referência(s)

UBUNTU PPP’S CVE-2020-15704 WRAP-UP
https://www.synacktiv.com/publications/ubuntu-ppps-cve-2020-15704-wrap-up.html

Canonical Ubuntu Point-to-Point Protocol Daemon Arbitrary File Read Information Disclosure Vulnerability
https://www.zerodayinitiative.com/advisories/ZDI-20-980/

USN-4451-1: ppp vulnerability
https://ubuntu.com/security/notices/USN-4451-1

USN-4451-2: ppp vulnerability
https://ubuntu.com/security/notices/USN-4451-2

ppp_2.4.7-2+4.1ubuntu5_2.4.7-2+4.1ubuntu6.diff.gz
https://launchpadlibrarian.net/491880980/ppp_2.4.7-2+4.1ubuntu5_2.4.7-2+4.1ubuntu6.diff.gz

CVE-2020-15704
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15704

CVE-2020-15704
https://nvd.nist.gov/vuln/detail/CVE-2020-15704

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

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

Última modificação: 8 setembro 2020

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.