BDU:2019-02298
Сообщество свободного программного обеспечения, ООО «РусБИТех-Астра» Linux, Astra Linux Special Edition
2018-12-03
Уязвимость реализации обработчика ems_pcmcia_remove загружаемого модуля drivers/net/can/sja1000/ems_pcmcia.ko ядра операционной системы Linux связана с разыменованием нулевого указателя. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании операционной системы при подключении и отключении устройства EMS CPC-CARD CAN, которое представляется как PCMCIA устройство, при этом выдает EMS CAN сигнатуру отличную от 0xAA55. Это связано с тем, что в функции ems_pcmcia_probe игнорируется ошибка, выдаваемая функцией ems_pcmcia_add_card. При возникновении этой ошибки вызывается функция очищения ресурсов ems_pcmcia_del_card, которая освобождает память и обнуляет указатель pdev->priv. Так как ошибочный код возврата игнорируется в ems_pcmcia_probe и возвращается нуль, при выгрузке драйвера вызывается ems_pcmcia_remove, который повторно вызывает ems_pcmcia_del_card, что приводит к разыменованию нулевого указателя pdev->priv
Технический анализ и план устранения
🇷🇺 Рекомендация ФСТЭК
Использование рекомендаций: https://wiki.astralinux.ru/pages/viewpage.action?pageId=1212483 (бюллетень № 20190605SE15)