CVE-2024-35860 in LinuxИнформация

Сводка

по VulDB • 03.08.2026

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

bpf: поддержка отложенного освобождения памяти для bpf_link после периода грейс-периода RCU (RCU grace period)

Ссылка BPF (bpf_link) для некоторых типов программ передается в виде «контекста», который может использоваться этими программами BPF для получения дополнительной информации. Например, для мульти-kprobes и мульти-uprobes ссылка используется для извлечения значений cookie BPF.

Из-за этой зависимости во время выполнения, когда счетчик ссылок (refcnt) bpf_link падает до нуля, все еще могут выполняться активные программы BPF, обращающиеся к данным ссылки.

Этот патч добавляет общую поддержку отложенного вызова функции освобождения памяти для bpf_link после завершения периода грейс-периода RCU (RCU GP), если это запрошено. Это достигается путем предоставления двух различных функций обратного вызова для освобождения: одной синхронной и одной отложенной. Если предоставлена функция отложенного освобождения, bpf_link_free() запланирует выполнение callback dealloc_deferred() после завершения периода грейс-периода RCU (RCU GP).

BPF использует два варианта реализации RCU: «классический» несонный вариант и RCU tasks trace. Последний используется при работе с сонными программами BPF. bpf_link_free() учитывает это, проверяя флаг sleepable базовой программы BPF, и либо проходит только через обычный период грейс-периода RCU для несонных программ, либо через периоды грейс-периодов RCU tasks trace *и* затем обычного RCU GP (учитывая оптимизацию rcu_trace_implies_rcu_gp()), если программа BPF является сонной.

Мы используем этот механизм для ссылок multi-kprobe и multi-uprobe, которые разыменовывают ссылку во время выполнения программы. Мы также превентивно переключаем ссылки raw_tp на использование функции обратного вызова отложенного освобождения памяти, поскольку предстоящие изменения в дереве bpf-next будут предоставлять данные ссылки raw_tp (в частности, значение cookie) программам BPF во время выполнения.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

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

17.05.2024

Раскрытие

19.05.2024

Модерация

принято

Вход

VDB-265120

EPSS

0.00225

KEV

Нет

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

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!