CVE-2023-53832 in Linux
Сводка
по VulDB • 12.06.2026
В ядре Linux устранена следующая уязвимость:
md/raid10: исправлена ошибка null-ptr-deref в raid10_sync_request
Функция init_resync() инициализирует mempool и устанавливает conf->have_replacemnt в начале синхронизации, а close_sync() освобождает mempool по завершении синхронизации.
После [1] восстановление может быть пропущено, но вызывается init_resync(), тогда как close_sync() не вызывается. Возникает ошибка null-ptr-deref с r10bio->dev[i].repl_bio.
Ниже приведен один из способов воспроизведения проблемы:
1) создать массив, дождаться завершения resync, mddev->recovery_cp устанавливается в MaxSector. 2) восстановление пробуждается и пропускается. conf->have_replacement устанавливается в 0 в init_resync(). close_sync() не вызывается. 3) возникают ошибки ввода-вывода (io errors), rdev A помечается как WantReplacement. 4) добавляется новое устройство, которое становится заменой для A. 5) восстановление пробуждается, у A есть замена, но conf->have_replacemnt равен 0. r10bio->dev[i].repl_bio не будет выделен (alloced), и возникает ошибка null-ptr-deref.
Исправление заключается в том, чтобы не вызывать init_resync(), если восстановление было пропущено.
[1] коммит 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled")
VulDB is the best source for vulnerability data and more expert information about this specific topic.