В ядре Linux устранена следующая уязвимость: nfsd: обеспечить блокировку для v4_end_grace Написание на v4_end_grace может участвовать в гон…
В ядре Linux устранена следующая уязвимость: nfsd: обеспечить блокировку для v4_end_grace Написание на v4_end_grace может участвовать в гонках с отключением сервера и привести к память была доступна после того, как она была освобождена - reclaim_sr_hashtbl in В частности. Мы не можем удерживать nfsd_mutex через nfsd4_end_grace() вызов, как это проводится, пока клиент_tracking_op->init() вызывается, и это может ждать upc call для nfsdcltrack, который может писать на v4_end_grace, что приводит к Тупик. nfsd4_end_grace() также называется ландроматной рабочей очередью и это не требует блокировки, так как отключение сервера остановит работу и подождет для него перед освобождением чего-либо, к чему nfsd4_end_grace() может получить доступ. Тем не менее, мы должны быть уверены, что запись на v4_end_grace не перезапускается Рабочий пункт после отключения уже ждал его. Для этого мы Добавить новый флаг, защищенный nn->client_lock. Он устанавливается только тогда, когда безопасен для отслеживания клиентов звонков, и v4_end_grace только расписания работа, пока флаг установлен со спинным замком. Итак, этот патч добавляет nfsd_net поле "client_tracking_active", которое Установить, как описано. Другое поле "grace_end_forced", устанавливается, когда v4_end_grace написан. После того, как это будет установлено, и предоставление client_tracking_active установлен, прачечная запланирована. Это поле "grace_end_forced" обходит другие проверки того, Благосостояние закончилось. Это разрешает гонку, которая может привести к бесперебойному использованию.
Продукт повторно использует или ссылается на память после её освобождения. В какой-то момент эта память может быть выделена повторно и сохранена в другом указателе, тогда как исходный указатель на освобождённую память используется вновь. Поскольку теперь по этому адресу может храниться посторонний объект, исходное использование указателя может привести к повреждению памяти или иным непреднамеренным последствиям. Если новая структура данных содержит указатель на функцию, то при исполнении может быть вызван код, контролируемый злоумышленником.
https://cwe.mitre.org/data/definitions/416.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux_kernel | * | Отслеживается |
| kernel-doc-6.12 | Отслеживается | |
| kernel-doc-6.12 | Отслеживается | |
| kernel-doc-6.12 | Отслеживается | |
| kernel-doc-6.18 | Отслеживается | |
| kernel-doc-std | Отслеживается | |
| kernel-doc-std | Отслеживается | |
| kernel-doc-un | Отслеживается | |
| kernel-doc-un | Отслеживается | |
| kernel-headers-6.12 | Отслеживается | |
| kernel-headers-6.12 | Отслеживается | |
| kernel-headers-6.12 | Отслеживается | |
| kernel-headers-6.18 | Отслеживается | |
| kernel-headers-modules-6.12 | Отслеживается | |
| kernel-headers-modules-6.12 | Отслеживается | |
| kernel-headers-modules-6.12 | Отслеживается | |
| kernel-headers-modules-6.18 | Отслеживается |