Ad

CVE-2026-74268

CRITICAL CVSS 3.1: 9,8 EPSS 0.60%
Обновлено 17 августа 2026
Linux
Параметр Значение
CVSS 9,8 (CRITICAL)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: tcp: очистить флаги sock_ops cb перед принудительным закрытием дочернего сокета Дочерний сокет наследует bpf_sock_ops_cb_flags слушателя через sk_clone_lock(). Если его настройка не удалась в tcp_v4_syn_recv_sock()/ tcp_v6_syn_recv_sock(), дочерний элемент освобождается через put_and_exit, где inet_csk_prepare_forced_close() снимает блокировку сокета и запускается tcp_done() без этого. Если BPF_SOCK_OPS_STATE_CB_FLAG был унаследован, tcp_done() -> tcp_set_state() вызывает tcp_call_bpf(), который ожидает блокировки и отключает sock_owned_by_me(): ВНИМАНИЕ: include/net/sock.h:1799 по адресу tcp_set_state+0x433/0x550.

RIP: 0010:tcp_set_state+0x433/0x550 include/net/sock.h:1799 Отслеживание вызова: <IRQ> tcp_done+0xba/0x250 net/ipv4/tcp.c:5095 tcp_v4_syn_recv_sock+0x850/0xa50 net/ipv4/tcp_ipv4.c:1787 tcp_check_req+0xf30/0x1360 net/ipv4/tcp_minisocks.c:926 tcp_v4_rcv+0x1047/0x1b50 net/ipv4/tcp_ipv4.c:2164 </IRQ> Ребенка освобождают еще до того, как он будет установлен, поэтому его нельзя запускать. обратный вызов sock_ops. Очистите его флаги cb в inet_csk_prepare_for_destroy_sock(), общая точка для путей принудительного закрытия IPv4, IPv6 и chtls, а также для Путь отказа MPTCP ->syn_recv_sock() (dispose_child), который достигает tcp_done() на ребенка, который так и не был установлен.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: tcp: clear sock_ops cb flags before force-closing a child socket A child socket inherits the listener's bpf_sock_ops_cb_flags via sk_clone_lock(). If its setup fails in tcp_v4_syn_recv_sock() / tcp_v6_syn_recv_sock(), the child is freed through put_and_exit, where inet_csk_prepare_forced_close() drops the socket lock and tcp_done() runs without it. If BPF_SOCK_OPS_STATE_CB_FLAG was inherited, tcp_done() -> tcp_set_state() calls tcp_call_bpf(), which expects the lock and trips sock_owned_by_me(): WARNING: include/net/sock.h:1799 at tcp_set_state+0x433/0x550 RIP: 0010:tcp_set_state+0x433/0x550 include/net/sock.h:1799 Call Trace: <IRQ> tcp_done+0xba/0x250 net/ipv4/tcp.c:5095 tcp_v4_syn_recv_sock+0x850/0xa50 net/ipv4/tcp_ipv4.c:1787 tcp_check_req+0xf30/0x1360 net/ipv4/tcp_minisocks.c:926 tcp_v4_rcv+0x1047/0x1b50 net/ipv4/tcp_ipv4.c:2164 </IRQ> The child is freed before it is ever established, so it should run no sock_ops callback. Clear its cb flags in inet_csk_prepare_for_destroy_sock(), the common point for the IPv4, IPv6 and chtls forced-close paths and for the MPTCP ->syn_recv_sock() failure path (dispose_child), which reaches tcp_done() on a child that was never established too.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1