В ядре Linux устранена следующая уязвимость:
s390/dasd: не завершать неудачное чтение ESE как успешное.
dasd_int_handler() завершает чтение NRF нераспределенной дорожки ESE с помощью
вызов ese_read() и безоговорочная пометка запроса
DASD_CQR_SUCCESS. dasd_eckd_ese_read() может вернуть ошибку до того, как она будет
обнулил целевой буфер: неудачный анализ сенсорных данных или текущий
отслеживать вне запрошенного диапазона, оба возвращаются раньше, оставляя
целевые страницы нетронуты. Запрос по-прежнему успешно завершен,
поэтому блочному слою передается устаревшая/неинициализированная память вместо
нули.
Проверьте возвращаемое значение ese_read() и отклоните запрос обычным способом.
путь ошибки вместо принудительного использования DASD_CQR_SUCCESS.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: s390/dasd: Do not complete a failed ESE read as successful dasd_int_handler() completes an NRF read of an unallocated ESE track by calling ese_read() and unconditionally marking the request DASD_CQR_SUCCESS. dasd_eckd_ese_read() can return an error before it has zeroed the destination buffer: a failed sense-data parse or a current track outside the requested range both return early, leaving the destination pages untouched. The request is still completed successfully, so the block layer is handed stale / uninitialized memory instead of zeros. Check the ese_read() return value and fail the request through the normal error path instead of forcing DASD_CQR_SUCCESS.