В ядре Linux устранена следующая уязвимость:
предохранитель: дождитесь FR_FINISHED при abort_on_kill, чтобы предотвратить использование после освобождения
Путь abort_on_kill в request_wait_answer() вызывает метод Fuse_abort_conn().
и возвращается, не дожидаясь FR_FINISHED. Если Fuse_dev_do_write()
одновременно обрабатывая один и тот же запрос (установлен FR_LOCKED), вызывающая сторона
освобождает req->args, пока к нему все еще осуществляется доступ, вызывая
использовать после бесплатно. Исправьте это, перейдя к существующему wait_event(FR_FINISHED) вместо
возвращаюсь рано.
Ожидание не зависнет, потому что use_abort_conn()
гарантирует завершение всех запросов.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: fuse: wait for FR_FINISHED on abort_on_kill to prevent use-after-free The abort_on_kill path in request_wait_answer() calls fuse_abort_conn() and returns without waiting for FR_FINISHED. If fuse_dev_do_write() is concurrently processing the same request (FR_LOCKED set), the caller frees req->args while it is still being accessed, causing a use-after-free. Fix this by jumping to the existing wait_event(FR_FINISHED) instead of returning early. The wait will not hang because fuse_abort_conn() ensures all requests are ended.
Уязвимые продукты 4
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
6.18.25
|
6.18.50
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
7.1
|
7.2.3
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
7.1
|
7.3-rc1
|
|
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
|
7.0.2
|
— |