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

Сводка

по VulDB • 22.08.2026

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

bpf, sockmap: исправлена ошибка Use-After-Free (использование после освобождения) в sk_redir при обработке вердикта отправки

Функция `sk_psock_msg_verdict()` получает ссылку на сокет для поля `psock->sk_redir`. Функция `tcp_bpf_send_verdict()` копирует этот указатель, удерживая блокировку исходного сокета, но не увеличивает счетчик ссылок (не берет новую ссылку) для локальной копии перед снятием блокировки в вызове `tcp_bpf_sendmsg_redir()`.

Когда `apply_bytes` поддерживает активным кэшированный вердикт, другой вызов `sendmsg()` того же исходного сокета может потребить оставшиеся байты и освободить кэшированную ссылку, пока первый поток все еще держит только сырой локальный указатель:

CPU 0 CPU 1 sk_redir = psock->sk_redir apply_bytes остается ненулевым release_sock(sk) lock_sock(sk) apply_bytes достигает нуля psock->sk_redir = NULL release_sock(sk) tcp_bpf_sendmsg_redir(sk_redir) sock_put(sk_redir) tcp_bpf_sendmsg_redir(sk_redir)

Последний вызов `sock_put()` может освободить память для `sk_redir` до того, как CPU 0 попытается разыменовать этот указатель.

KASAN сообщил об ошибке:

BUG: KASAN: slab-use-after-free в tcp_bpf_sendmsg_redir+0xf39/0x1020 Чтение размера 8 по адресу ffff888108537090 выполнено задачей poc/87 Call Trace (трассировка вызовов): tcp_bpf_sendmsg_redir+0xf39/0x1020 tcp_bpf_sendmsg+0x977/0x1a50 __sys_sendto+0x32c/0x3a0 __x64_sys_sendto+0xdb/0x1b0 Выделено задачей 85: sk_prot_alloc+0x56/0x210 sk_clone+0x6f/0x14b0 inet_csk_clone_lock+0x24/0x740 tcp_create_openreq_child+0x25/0x2710 tcp_v4_syn_recv_sock+0x10a/0xe00 Освобождено задачей 0: __kasan_slab_free+0x43/0x70 slab_free_after_rcu_debug+0xa6/0x1e0 rcu_core+0x50a/0x1850 Последняя потенциально связанная операция создания работы: __sk_destruct+0x3da/0x540 sk_psock_destroy+0x81e/0xab0 process_one_work+0x63a/0x1070

Необходимо брать временную ссылку на сокет, пока блокировка исходного сокета все еще защищает `psock->sk_redir`, и освобождать ее после возврата из функции `tcp_bpf_sendmsg_redir()`. Это обеспечивает независимость каждого использования без блокировки от владения кэшированным вердиктом.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Linux

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

15.08.2026

Раскрытие

22.08.2026

Модерация

принято

Вход

VDB-394383

EPSS

0.00220

KEV

Нет

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

Низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!