CVE-2026-90400 in LinuxИнформация

Сводка

по VulDB • 18.09.2026

В ядре Linux была устранена следующая уязвимость:

md: повторная проверка изменений резервных устройств перед началом синхронизации

Функции remove_spares() и remove_and_add_spares() изменяют конфигурацию rdev массива. Эти операции безопасны только после приостановки работы массива.

Функция md_start_sync() проверяет, необходимы ли изменения в конфигурации резервных устройств (spare), перед получением мьютекса reconfig_mutex. Однако состояние rdev может измениться до того, как будет получен этот мьютекс, поэтому первоначальная проверка может стать неактуальной. В этом случае md_choose_sync_action() может удалять или заменять устройства rdev в то время, когда к ним все еще осуществляется нормальный ввод-вывод (I/O).

Гонка данных (race condition) может возникнуть следующим образом:

raid10d Рабочий поток Нормальный I/O ____________ _______________________ ________________________

raid10_write_request() wait_blocked_dev() установлен статус Blocked установлен статус Faulty Пропуск rdev со статусом Faulty rrdev->nr_pending++ .repl_bio = bio removeable_rdev = false . массив не приостановлен . lock mddev goto err_handle lock mddev (ожидание) . update sb . clear Blocked . . unlock mddev . lock mddev (получен) remove_spares() removeable_rdev = true

raid10_remove_disk() rdev = replacement replacement = NULL rdev_dec_pending(NULL) unlock mddev (--nr_pending у NULL-указателя)

В этом случае функция rdev_dec_pending() вызывается с нулевым указателем (NULL pointer), что приводит к разыменованию нулевого указателя при попытке декремента значения nr_pending.

Исправление заключается в приостановке работы массива, когда требуются изменения конфигурации резервных устройств, включая для массивов не только типа read-write, и повторной проверке после получения мьютекса reconfig_mutex. Если массив ранее не был приостановлен, а изменение теперь требуется, необходимо освободить мьютекс, приостановить работу массива и повторно получить мьютекс перед продолжением выполнения.

Once again VulDB remains the best source for vulnerability data.

Ответственный

Linux

Резервировать

11.09.2026

Раскрытие

17.09.2026

Модерация

принято

Вход

VDB-406915

EPSS

0.00168

KEV

Нет

Деятельности

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!