Pesquisador descobre 15 problemas de segurança nos drivers USB do kernel Linux

Novo driver exFAT da Microsoft chegou ao Linux 5.7
kernel exfat

O pesquisador de segurança do Google, Andrey Konovalov, publicou recentemente um relatório sobre a identificação de 15 vulnerabilidades (CVE-2019-19523 – CVE-2019-19537) nos drivers USB oferecidos no kernel Linux. Esta é a terceira parte dos problemas encontrados durante os testes de difusão da bateria USB no pacote syzkaller. Do mesmo modo, anteriormente, esse pesquisador já havia relatado 29 vulnerabilidades. Portanto, o pesquisador descobre 15 problemas de segurança nos drivers USB do kernel Linux

Os problemas que foram divulgados anteriormente, segundo oo pesquisador de segurança, podem ser potencialmente explorados quando dispositivos USB especialmente preparados são conectados a um computador.

Um ataque é possível se houver acesso físico ao computador e ele puder causar pelo menos uma falha no Kernel, mas outras manifestações não serão excluídas (por exemplo, para uma vulnerabilidade semelhante identificada em 2016, o driver USB snd-usbmidi conseguiu preparar uma exploração para executar código no nível do kernel).

Pesquisador descobre 15 problemas de segurança nos drivers USB do kernel Linux

Pesquisador descobre 15 problemas de segurança nos drivers USB do kernel Linux

Neste novo relatório de Andrey Konovalov, a lista inclui apenas vulnerabilidades causadas pelo acesso a áreas de memória que já foram liberadas (uso após livre) ou que levam ao vazamento de dados da memória do kernel.

Problemas que podem ser usados para negação de serviço não estão incluídos no relatório. As vulnerabilidades podem ser potencialmente exploradas quando dispositivos USB especialmente preparados são conectados a um computador. As correções para todos os problemas mencionados no relatório já estão incluídas no kernel, mas alguns erros que não estão incluídos no relatório ainda não foram corrigidos.

Mais erros nos drivers USB do kernel Linux que podem ser ativados por um dispositivo USB malicioso externo foram encontrados com o syzkaller … Todos esses erros foram corrigidos para cima (mas muitos outros erros do syzbot USB ainda não foram corrigidos).

As vulnerabilidades mais perigosas a serem usadas após o lançamento, que podem levar à execução do código de ataque, foram corrigidas nos controladores adutux, ff-memless, ieee802154, pn533, hiddev, iowarrior, mcba_usb e yurex.

Sob CVE-2019-19532, 14 vulnerabilidades adicionais nos controladores HID são resumidas devido a erros que permitem a gravação fora dos limites. Os drivers ttusb_dec, pcan_usb_fd e pcan_usb_pro encontraram problemas que levam ao vazamento de dados da memória do kernel. O código da pilha USB para trabalhar com dispositivos de caracteres identificou um problema (CVE-2019-19537) causado por uma condição de corrida.

CVE-2019-19523

No kernel do Linux anterior à 5.3.7, há um erro de uso que pode ser causado por um dispositivo USB malicioso em drivers/usb/misc/adutux.c, também conhecido como CID-44efc269db79.

CVE-2019-19524

No kernel do Linux anterior à 5.3.12, há um erro de uso que pode ser causado por um dispositivo USB malicioso no driver /input/ff-memless.c, também conhecido como CID-fa3a5a1880c9.

CVE-2019-19532

No kernel Linux anterior à 5.3.9, existem vários erros de gravação fora dos limites que podem ser causados por um dispositivo USB malicioso nos controladores HID do kernel Linux, também conhecidos como CID-d9d4b1e46d95. Isso afeta:

drivers/hid/hid-axff.c, drivers/hid/hid-dr.c, drivers/hid/hid-emsff.c

drivers/hid/hid-gaff.c, drivers/hid/hid-holtekff.c

drivers/hid/hid-lg2ff.c, drivers/hid/hid-lg3ff.c

drivers/hid/hid-lg4ff.c, drivers/hid/hid-lgff.c

drivers/hid/hid-logitech-hidpp.c, drivers/hid/hid-microsoft.c

drivers/hid/hid-sony.c, drivers/hid/hid-tmff.c

drivers/hid/hid-zpff.c.

Também podemos observar a identificação de quatro vulnerabilidades (CVE-2019-14895, CVE-2019-14896, CVE-2019-14897, CVE-2019-14901) no controlador de chip sem fio Marvell, que pode causar um estouro de buffer.

Um ataque pode ser feito remotamente, enviando quadros emoldurados de uma certa maneira quando conectado ao ponto de acesso sem fio do invasor. A ameaça mais provável é uma negação de serviço remota (bloqueio do kernel), mas a possibilidade de execução de código no sistema não é descartada.

No momento, os problemas que ainda não foram corrigidos foram anunciados há vários dias nas distribuições (Debian, Ubuntu, Fedora, RHEL, SUSE) já estão trabalhando para corrigir os erros. Do mesmo modo, um patch já foi proposto para inclusão no Linux Kernel para os próximos lançamentos.

Se você quiser saber mais sobre os erros encontrados, consulte a publicação original no seguinte link e neste outro link.

Fonte: Linux Adictos