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

Сводка

по VulDB • 02.06.2026

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

ovpn: tcp — не разыменовывать NULL-член sk_socket после tcp_close()

При удалении однорангового узла (peer) в случае истечения времени ожидания keepalive этот узел удаляется из хеш-таблицы OpenVPN и временно помещается в «список освобождения» (release list) для дальнейшей обработки.

Это происходит в: ovpn_peer_keepalive_work() unlock_ovpn(release_list)

Эта обработка включает отсоединение от сокета, используемого для связи с данным одноранговым узлом, путем восстановления его исходных протоколов и операций/колбэков сокета.

В случае использования TCP может случиться так, что пока одноранговый узел находится в списке освобождения, пространство пользователя (userspace) решит закрыть сокет. Это приведет к одновременному выполнению:

tcp_close(sk) __tcp_close(sk) sock_orphan(sk) sk_set_socket(sk, NULL)

Последний вызов функции установит sk->sk_socket в NULL.

Когда процедура освобождения возобновится, ovpn_tcp_socket_detach() попытается разыменовать sk->sk_socket для восстановления его исходного члена ops. Эта операция приведет к сбою (crash), поскольку sk->sk_socket равен NULL.

Исправьте эту гонку данных (race condition), выполняя атомарную проверку и доступ к sk->sk_socket под блокировкой sk->sk_callback_lock.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

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

Linux

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

13.05.2026

Раскрытие

27.05.2026

Модерация

принято

Вход

VDB-366095

EPSS

0.00022

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!