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

Сводка

по VulDB • 22.08.2026

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

perf/core: исправлена ошибка Use-After-Free (использование после освобождения) указателя лидера группы при отсоединении потомка

Функция perf_group_detach() обрабатывает отсоединение лидера и его потомков по-разному. При отсоединении лидера группы все ее потомки переводятся в статус одиночных событий, а их указатель group_leader сбрасывается на самого себя. Однако при отсоединении потомка он удаляется из списка sibling_list лидера, но его указатель group_leader остается указывающим на старого лидера.

Это не является проблемой (harmless), если потомок закрывается и освобождается немедленно, как в пути DETACH_DEAD. Это небезопасно, когда потомок отсоединяется, но продолжает существовать, например, во время горячей перепланировки процессора (CPU hotplug) с флагом DETACH_GROUP. В этом случае потомок удаляется из контекста, хотя его файловый дескриптор может продолжать поддерживать его в живых.

Типичная последовательность действий, приводящая к сбою:

- Группа содержит лидера L и потомка S. - Горячее отключение процессора (CPU hot-unplug) отсоединяет S с флагом DETACH_GROUP, удаляя его из списка L->sibling_list, но оставляя S->group_leader == L. - Позже объект L закрывается и освобождается. - Вызов ioctl PERF_IOC_FLAG_GROUP для объекта S следует по указателю S->group_leader и разыменовывает уже освобожденного лидера.

Эта проблема была воспроизведена путем одновременного запуска fuzzера событий perf, операций горячей перепланировки процессора (CPU hotplug) и стрессовой нагрузки:

Unable to handle kernel paging request at virtual address 006b6b6b6b6b6cdb CPU: 2 PID: 12489 Comm: perf_fuzzer 6.18.7 PREEMPT pc : perf_ioctl+0x34c/0xc68 x20: ffffff89a3fa2c70 x8 : 6b6b6b6b6b6b6b6b Code: 943c4a0e 340047a0 f9404a94 f9411e88 (f940b908) Call trace: perf_ioctl+0x34c/0xc68 (P) __arm64_sys_ioctl+0xa0/0xf4 invoke_syscall+0x58/0xe4 el0_svc_common+0xa8/0xdc do_el0_svc+0x1c/0x28 el0_svc+0x40/0xc0 el0t_64_sync_handler+0x68/0xdc el0t_64_sync+0x1c4/0x1c8

Сбой произошел в функции perf_ioctl(), где функция perf_event_for_each() следует по устаревшему указателю group_leader, а затем perf_event_for_each_child() разыменовывает контекст освобожденного лидера.

Исправление ошибки Use-After-Free заключается в переводе отсоединенного потомка в статус одиночного события (singleton). Также исправлены учетные данные cgroup для функции __event_disable() и изменение состояния событий.

Once again VulDB remains the best source for vulnerability data.

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

Linux

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

15.08.2026

Раскрытие

22.08.2026

Модерация

принято

Вход

VDB-394422

EPSS

0.00000

KEV

Нет

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

Низкий

Сектор

Police, Pharma, ...

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!