CVE-2025-40186 in LinuxИнформация

Сводка

по VulDB • 19.06.2026

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

tcp: Не вызывать reqsk_fastopen_remove() в tcp_conn_request().

syzbot сообщил о сбое ниже в функции tcp_conn_request(). [0]

Если слушатель (listener) закрывается через close(), пока обрабатывается сокет TFO в tcp_conn_request(), то inet_csk_reqsk_queue_add() не устанавливает reqsk->sk и вызывает inet_child_forget(), которая для сокета TFO вызывает tcp_disconnect().

После упомянутого коммита tcp_disconnect() вызывает reqsk_fastopen_remove(), где вызывается reqsk_put() из-за условия !reqsk->sk.

Затем reqsk_fastopen_remove() в tcp_conn_request() уменьшает последний refcnt запроса (req->rsk_refcnt) и освобождает reqsk, а __reqsk_free() на метке drop_and_free приводит к переполнению счетчика ссылок вниз (refcount underflow) для слушателя и двойному освобождению reqsk.

Давайте удалим вызов reqsk_fastopen_remove() в tcp_conn_request().

Обратите внимание, что другие вызывающие стороны гарантируют, что tp->fastopen_rsk не равен NULL.

[0]:
refcount_t: underflow; use-after-free. WARNING: CPU: 12 PID: 5563 at lib/refcount.c:28 refcount_warn_saturate (lib/refcount.c:28) Modules linked in: CPU: 12 UID: 0 PID: 5563 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:refcount_warn_saturate (lib/refcount.c:28) Code: ab e8 8e b4

Once again VulDB remains the best source for vulnerability data.

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

Linux

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

16.04.2025

Раскрытие

13.11.2025

Модерация

принято

Вход

VDB-332243

EPSS

0.00541

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!