CVE-2026-23450
Use-After-Free and NULL Dereference in Linux Kernel SMC TCP Socket
Publication date: 2026-04-03
Last updated on: 2026-04-27
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux_kernel | linux_kernel | * |
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The provided CVE description does not include any information regarding the impact of this vulnerability on compliance with common standards and regulations such as GDPR or HIPAA.
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's SMC (Shared Memory Communications) TCP receive path, specifically in the function smc_tcp_syn_recv_sock(). It involves a race condition where the smc_sock object can be freed while still being accessed, leading to two main issues: a NULL pointer dereference and a use-after-free (UAF).
The problem occurs because smc_tcp_syn_recv_sock() reads sk_user_data to get a pointer to smc_sock, but if the SMC listen socket is closed concurrently, sk_user_data can be set to NULL and the smc_sock freed before the function accesses its fields. This causes crashes or panics in the kernel.
The fix involves using Read-Copy-Update (RCU) mechanisms and safe reference counting to ensure that smc_sock is not freed while being accessed. This includes deferring freeing until after an RCU grace period and safely incrementing the reference count before use.
How can this vulnerability impact me? :
This vulnerability can cause kernel panics or crashes due to NULL pointer dereference or use-after-free errors in the Linux kernel's networking stack. Such crashes can lead to denial of service (DoS) conditions, making the affected system unstable or unavailable.
Because the issue occurs during the TCP handshake path, it could potentially be triggered by network traffic, including SYN flood attacks, exacerbating the impact by causing repeated kernel crashes.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability in the Linux kernel's smc_tcp_syn_recv_sock() function has been fixed by applying a patch that uses RCU and refcount_inc_not_zero() to safely access smc_sock.
- Apply the patch that sets SOCK_RCU_FREE on the SMC listen socket to defer freeing smc_sock until after the RCU grace period.
- Ensure the kernel uses rcu_read_lock() to protect reading sk_user_data in smc_tcp_syn_recv_sock().
- Use refcount_inc_not_zero() to pin the smc_sock and safely handle the reference count.
These steps prevent NULL pointer dereference and use-after-free conditions by ensuring safe access to smc_sock during the TCP three-way handshake path.