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

Сводка

по VulDB • 23.08.2026

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

packet: синхронизация очистки давления с переконфигурацией кольца

Функция packet_set_ring() обновляет состояние RX-кольца под блокировкой sk_receive_queue.lock, но ранее публиковала режим получения tpacket через po->prot_hook.func после освобождения этой блокировки. Функции packet_poll() и packet_recvmsg() могут затем выполнять путь очистки давления после того, как кольцо было очищено, при этом продолжая видеть tpacket_rcv, что приводит к разыменованию __packet_rcv_has_room() устаревших или нулевых (NULL) указателей на хранилище кольца.

Переместите существующее назначение крюка получения в тот же участок кода под блокировкой sk_receive_queue.lock, где обновляется состояние кольца. Сохраните само присваивание без изменений, включая при переконфигурации TX-кольца, чтобы избежать внесения изменений в поведение, не необходимых для исправления уязвимости.

Серийно обрабатывайте очистку давления в packet_recvmsg() с использованием той же блокировки очереди только после обнаружения флага PACKET_SOCK_PRESSURE. Если флаг сброшен и сокет уже перешел от tpacket_rcv, функция packet_set_ring() уже отсоединила сокет и дождалась вызова synchronize_net(), поэтому новый входящий пакет не может снова установить этот флаг.

Функция packet_poll() уже удерживает блокировку sk_receive_queue.lock, поэтому она использует новую вспомогательную функцию без блокировки напрямую.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

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

Linux

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

15.08.2026

Раскрытие

22.08.2026

Модерация

принято

Вход

VDB-394482

EPSS

0.00000

KEV

Нет

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

Низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!