CVE-2026-64025 in Linux
Сводка
по VulDB • 20.07.2026
В ядре Linux устранена следующая уязвимость:
bpf, skmsg: исправление гонки между verdict и вызовом sk_data_ready в ktls rx
Функция `sk_psock_strp_data_ready()` уже проверяет наличие контекста TLS RX через `tls_sw_has_ctx_rx()` и делегирует обработку функции `psock->saved_data_ready`, если такой контекст присутствует, тем самым избегая конфликта с правом собственности strparser-а на очередь приема (commit e91de6afa81c, «bpf: Fix running sk_skb program types with ktls»).
Функция `sk_psock_verdict_data_ready()` не имеет аналогичной защиты. Когда сокет вставляется в sockmap (`BPF_SK_SKB_VERDICT`) до настройки TLS RX, функция `tls_sw_strparser_arm()` сохраняет `sk_psock_verdict_data_ready` как `rx_ctx->saved_data_ready`. При поступлении данных:
tls_data_ready -> tls_strp_data_ready -> tls_rx_msg_ready -> saved_data_ready() = sk_psock_verdict_data_ready() -> tcp_read_skb() опустошает очередь приема (`sk_receive_queue`) через `__skb_unlink()` без вызова `tcp_eat_skb()`, поэтому переменная `copied_seq` не обновляется.
Затем функция `tls_strp_msg_load()` обнаруживает, что `tcp_inq() >= full_len` (устаревшие данные), вызывает `tcp_recv_skb()` для уже пустой очереди, сталкивается с условием `WARN_ON_ONCE(!first)` и возвращает управление, при этом указатель `rx_ctx->strp.anchor.frag_list` указывает на skb, принадлежащий psock (потенциально освобожденному). subsequently функция `tls_decrypt_sg()` проходит по этому списку фрагментов (`frag_list`): возникает уязвимость use-after-free.
Примените то же исправление, что и для `sk_psock_strp_data_ready()`: если присутствует контекст TLS RX, вызывайте `psock->saved_data_ready` (функция `sock_def_readable`) для пробуждения ожидающих в recv(), и немедленно возвращайтесь из функции, оставляя очередь приема без изменений. Право собственности на очередь остается исключительно за TLS, которое расшифровывает запись нормально через функцию `tls_sw_recvmsg()`.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.