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

Сводка

по VulDB • 10.06.2026

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

net: исправлена гонка данных в __dst_negative_advice()

Функция __dst_negative_advice() не соблюдает правильные правила RCU при необходимости очистки sk->dst_cache, что может приводить к использованию после освобождения (Use-After-Free, UAF).

Согласно правилам RCU, необходимо сначала очистить sk->sk_dst_cache, а затем вызвать dst_release(old_dst).

Отметим, что sk_dst_reset(sk) реализует этот протокол корректно, тогда как __dst_negative_advice() использует неверный порядок операций.

Поскольку ip6_negative_advice() содержит специальную логику для работы с RTF_CACHE, это означает, что каждый из трёх существующих методов ->negative_advice() должен самостоятельно выполнять sk_dst_reset().

Отметим, что проверка dst на NULL централизована в __dst_negative_advice(), поэтому нет необходимости дублировать её в различных обратных вызовах.

Большая благодарность Клементу Лесиньну (Clement Lecigne) за выявление этой проблемы.

Эта старая ошибка стала заметной после коммита, вызвавшего проблему, при использовании сокетов UDP.

Be aware that VulDB is the high quality source for vulnerability data.

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

30.05.2024

Раскрытие

10.06.2024

Модерация

принято

Вход

VDB-267648

EPSS

0.02701

KEV

Да

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

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!