{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-45918","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-05-13T15:03:33.085Z","datePublished":"2026-05-27T12:17:34.500Z","dateUpdated":"2026-05-27T12:17:34.500Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-27T12:17:34.500Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\novpn: tcp - don't deref NULL sk_socket member after tcp_close()\n\nWhen deleting a peer in case of keepalive expiration, the peer is\nremoved from the OpenVPN hashtable and is temporary inserted in a\n\"release list\" for further processing.\n\nThis happens in:\novpn_peer_keepalive_work()\n  unlock_ovpn(release_list)\n\nThis processing includes detaching from the socket being used to\ntalk to this peer, by restoring its original proto and socket\nops/callbacks.\n\nIn case of TCP it may happen that, while the peer is sitting in\nthe release list, userspace decides to close the socket.\nThis will result in a concurrent execution of:\n\ntcp_close(sk)\n  __tcp_close(sk)\n    sock_orphan(sk)\n      sk_set_socket(sk, NULL)\n\nThe last function call will set sk->sk_socket to NULL.\n\nWhen the releasing routine is resumed, ovpn_tcp_socket_detach()\nwill attempt to dereference sk->sk_socket to restore its original\nops member. This operation will crash due to sk->sk_socket being NULL.\n\nFix this race condition by testing-and-accessing\nsk->sk_socket atomically under sk->sk_callback_lock."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ovpn/tcp.c"],"versions":[{"version":"11851cbd60ea1e5abbd97619d69845ead99303d6","lessThan":"f998b2c4bec487063a586695159f9a1856e81c56","status":"affected","versionType":"git"},{"version":"11851cbd60ea1e5abbd97619d69845ead99303d6","lessThan":"b9142cf4e066c825ec68752a7dcaceda700bbe26","status":"affected","versionType":"git"},{"version":"11851cbd60ea1e5abbd97619d69845ead99303d6","lessThan":"94560267d6c41b1ff3fafbab726e3f8a55a6af34","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ovpn/tcp.c"],"versions":[{"version":"6.16","status":"affected"},{"version":"0","lessThan":"6.16","status":"unaffected","versionType":"semver"},{"version":"6.18.14","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"6.19.4","lessThanOrEqual":"6.19.*","status":"unaffected","versionType":"semver"},{"version":"7.0","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.16","versionEndExcluding":"6.18.14"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.16","versionEndExcluding":"6.19.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.16","versionEndExcluding":"7.0"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/f998b2c4bec487063a586695159f9a1856e81c56"},{"url":"https://git.kernel.org/stable/c/b9142cf4e066c825ec68752a7dcaceda700bbe26"},{"url":"https://git.kernel.org/stable/c/94560267d6c41b1ff3fafbab726e3f8a55a6af34"}],"title":"ovpn: tcp - don't deref NULL sk_socket member after tcp_close()","x_generator":{"engine":"bippy-1.2.0"}}}}