Уязвимость реализации обработчика udc_pci_probe ядра операционной системы Linux, позволяющая нарушителю вызвать отказ в обслуживании

Уязвимость реализации обработчика udc_pci_probe загружаемого модуля drivers/usb/gadget/udc/amd5536udc.ko ядра операционной системы Linux связана с повторным освобождением памяти. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании операционной системы путем подключения устройства AMD5536 UDC, которое представляется как USB устройство, при этом содержит версию chiprev равную UDC_HSA0_REV. В результате в обработчике udc_pci_probe, вызывается функция udc_probe, которая возвращает ошибку "chip revision is A0; too old" при chiprev= UDC_HSA0_REV. Функция udc_pci_probe при ошибке udc_probe выполняет udc_pci_remove, но возвращает успешный код возврата. Поэтому при отключении устройства udc_pci_remove вызывается во второй раз, в результате чего происходит повторное освобождение памяти

CVSS v2.0: 4.9