ASA-2018-00068 – Linux kernel: Use-after-free em usb_audio_probe()


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00068

Identificador(es)

ASA-2018-00068, CVE-2018-19824

Título

Use-after-free em usb_audio_probe()

Fabricante(s)

Linux kernel

Produto(s)

Linux kernel

Versão(ões) afetada(s)

Linux kernel desde 3.1

Versão(ões) corrigida(s)

Linux kernel v4.20-rc6

Prova de conceito

Desconhecido

Descrição

Existe uma vulnerabilidade de use-after-free em usb_audio_probe(). Essa função precisa decrementar o reference counter de um objeto mas ao fazer isso, o objeto já encontra-se liberado. Um atacante precisa de acesso local para conectar um dispositivo USB mal-intencionado a fim de explorar a vulnerabilidade.

Detalhes técnicos

Se uma placa de som USB reportar 0 interface, uma condição de erro será acionada e a função usb_audio_probe() será acionada. No caminho do erro, havia uma vulnerabilidade de use-after-free em que o objeto de memória da placa foi liberado pela primeira vez, seguido por um decréscimo do número de chips ativos.

File: sound/usb/card.c
---
 __error:
if (chip) {
+ /* chip->active is inside the chip->card object,
+ * decrement before memory is possibly returned.
+ */
+ atomic_dec(&chip->active);
if (!chip->num_interfaces)
snd_card_free(chip->card);
- atomic_dec(&chip->active);
}
mutex_unlock(&register_mutex);
return err;
---

Créditos

Mathias Payer

Referência(s)

UAF write in usb_audio_probe
https://seclists.org/oss-sec/2018/q4/197

ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c
https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/commit/?id=5f8cf712582617d523120df67d392059eaf2fc4b

ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c
https://github.com/torvalds/linux/commit/5f8cf712582617d523120df67d392059eaf2fc4b

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

CVE-2018-19824
https://nvd.nist.gov/vuln/detail/CVE-2018-19824

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

Última modificação: 9 de dezembro de 2018