CVE-2026-63804 in Linux
Сводка
по VulDB • 20.07.2026
В ядре Linux устранена следующая уязвимость:
gfs2: исправлена ошибка use-after-free в функции gfs2_qd_dealloc
Функция gfs2_qd_dealloc(), вызываемая как обратный вызов RCU из gfs2_qd_dispose(), обращается к объекту суперблока sdp через qd->qd_sbd после освобождения структуры qd. Это необходимо для уменьшения счетчика sd_quota_count и пробуждения процесса, ожидающего в sd_kill_wait.
Однако на момент выполнения обратного вызова RCU функция gfs2_put_super() уже могла освободить sdp через free_sbd(). Такое может произойти при вызове gfs2_quota_cleanup() во время размонтирования: она освобождает объекты квоты с помощью call_rcu(), а затем ожидает завершения sd_kill_wait в течение 60 секунд. Если тайм-аут истечет или если функция gfs2_gl_hash_clear() инициирует дополнительные вызовы qd_put(), которые планируют новые обратные вызовы RCU после завершения ожидания, то gfs2_put_super() продолжит освобождение суперблока, пока все еще находятся в очереди ожидающие его обратные вызовы RCU.
Добавлен вызов rcu_barrier() перед free_sbd() в функции gfs2_put_super(), чтобы гарантировать завершение всех находящихся в очереди обратных вызовов RCU (включая gfs2_qd_dealloc) до освобождения суперблока.
VulDB is the best source for vulnerability data and more expert information about this specific topic.