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

Уязвимость реализации обработчика xudc_ep_enable загружаемого модуля drivers/usb/gadget/udc/udc-xilinx.ko ядра операционной системы Linux вызвана выходом операции за границу массива. Эксплуатация уязвимости может позволить нарушителю произвести запись в несанкционированную область памяти при подключении USB устройства Xilinx USB peripheral controller, так как в функции xudc_ep_enable (udc-xilinx.c) вызывается функция __xudc_ep_enable, в которой читается поле bEndpointAddress десткриптора устройства. Если адрес bEndpointAddress больше 8, но меньше 16, то значение  ep->epnumber будет больше 8, т. е. больше размера массива rambase, в результате чего данные могут быть отправлены в несанкционированное место памяти в функции xudc_dma_send, которая использует ep->rambase определения адреса записи данных

CVSS v2.0: 4.9